Python CSV writeheader

本來是用 writerow() ,就可以順利使用。但是想要讓輸出結果多個標頭,資質駑鈍,看了 Python CSV module 文件,還是看不懂。

Google 到這篇 use csv to write out data in python,例子淺顯易懂。第一個是要用 csv.DictWriter(),帶 fieldnames 參數。第二個是 writerow/writerows 時,則是要帶 dict 下去才行。

[python]
import csv
result=[(1,2,3,4), (5,6,7,8)]
fieldnames = [‘rev’, ‘committer’, ‘affected_files’,
‘affected_lines’]
with open(options.filename, ‘wb’) as csvfile:
writer = csv.DictWriter(csvfile, delimiter=’,’,
fieldnames=fieldnames,
quoting=csv.QUOTE_MINIMAL)
writer.writeheader()
rows = [{‘rev’: a,
‘committer’: b,
‘affected_files’: c,
‘affected_lines’: d} for a, b, c, d in result]
writer.writerows(rows)
[/python]