Python csv:优化标头输出

时间:2014-03-05 00:21:33

标签: python mysql csv

我正在从SQL写一个巨大的(160k +)数据集到CSV。我的脚本完全按预期运行,但我确信必须有一种更有效的方法在输出中包含标题。我在阅读 writing header in csv python with DictWriter 时拼凑了以下内容,但感觉它缺乏优雅。

这是我的代码:

f = open(outfile,'w')
wf = csv.DictWriter(f, fieldnames, restval='OOPS')
wf.writer.writerow(wf.fieldnames)
f.close()

f = open(outfile,'a')
wf = csv.writer(f)
wf.writerows(rows)
f.close()

fieldnames已明确定义(10个自定义列名称),rows包含查询中的fetchall()

1 个答案:

答案 0 :(得分:2)

未经测试,但我不明白为什么不应该这样做:

import csv

with open(outfile, "wb") as outf:
    outcsv = csv.writer(outf)
    outcsv.writerow(fieldnames)
    outcsv.writerows(rows)