如何从pyodbc结果行创建逗号分隔的字符串?

时间:2011-06-28 21:57:57

标签: python

我有一个存储在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毫秒,这看起来像是一个非常昂贵的操作。我怎样才能加快速度呢?

1 个答案:

答案 0 :(得分:13)

我使用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