我有一个存储在 cursor.rows 中的行结果集,这些行是从 pyodbc.cursor.execute 命令返回的。解压缩此数据并将其放入逗号分隔字符串列表(或解压缩到自定义对象中)的最快方法是什么?
目前我正在做以下事情:
cursor.execute(query_str)
f = open(out_file, 'w')
for row in cursor:
f.write(','.join([str(s) for s in row]))
f.write('\n')
每行需要 130 毫秒,这似乎是一个非常昂贵的操作。我怎样才能加快速度?
最佳答案
我会使用 csv
模块:
import csv
cursor.execute(query_str)
with open(out_file, 'w') as f:
csv.writer(f, quoting=csv.QUOTE_NONE).writerows(cursor)
请注意,如果您csv.QUOTE_NONE
如果数据字段中有逗号,则会引发csv.Error
。理智的方法是至少 csv.QUOTE_MINIMAL
。
关于python - 如何从 pyodbc 结果行创建逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513588/