我正在从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()
。
答案 0 :(得分:2)
未经测试,但我不明白为什么不应该这样做:
import csv
with open(outfile, "wb") as outf:
outcsv = csv.writer(outf)
outcsv.writerow(fieldnames)
outcsv.writerows(rows)