使用
读取CSV文件后with open(filename, 'r') as f:
reader = csv.DictReader(f)
for line in reader:
date = line['Date']
每一行都是OrderedDict
OrderedDict([
('Date', '2008-03-20'),
('Name', 'Some name'),...)
])
我想使用列表中第一个字典的键作为列标题,将这个有序字典列表写入python中的csv文件。
答案 0 :(得分:10)
使用csv.DictWriter
对象为您完成所有繁重的工作:
import csv
with open('spreadsheet.csv', 'w') as outfile:
fp = csv.DictWriter(outfile, list_of_dicts[0].keys())
fp.writeheader()
fp.writerows(list_of_dicts)
它会创建一个新的CSV,为它写一个标题行,以便您知道每列代表什么,然后将每个dict写成一行,所有列的顺序与标题列的顺序相同。
答案 1 :(得分:1)
import csv
header = [key for key in list[0].iterkeys()]
out_file = csv.writer(open("out.csv", "w"))
out_file.write(header)
for line in list:
out_file.writerow(line.itervalues())