[英]I want to create a nested dictionary from a csv file with headers as keys
[英]How to output keys from nested dictionary to csv
我正在尝试将嵌套字典编写为CSV。 我已经能够成功完成此操作,但是由于字典未排序,因此我无法确定哪一列是哪一列。 如何将键作为列标题输出到,以便知道哪一列是哪一列?
import datetime
import csv
d = {
u'Project 1': {'Start Date': datetime.datetime(2015, 5, 6, 0, 0), 'Finish Date': datetime.datetime(2015, 12, 23, 0, 0)},
u'Project 2': {'Start Date': datetime.datetime(2015, 1, 23, 0, 0), 'Finish Date': datetime.datetime(2015, 12, 22, 0, 0)}
}
milestones = d.values()[0].keys()
for key, value in d.items():
print [key] + [d[key][date] for date in milestones]
writer = csv.writer(open('C:\\test.csv', 'wb'))
for key, value in d.items():
writer.writerow([key] + [d[key][date] for date in milestones])
使用csv.DictWriter
(这是一个示例,对其进行修改以适合您的需要):
import csv
with open('test.csv', 'w') as csvfile:
# put all keys you want to write here
fieldnames = ['Project Name', 'Start Date', 'Finish Date']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for project_name, project_dict in d.iteritems():
# add project name
row_dict = dict(
[("Project Name", project_name)] + project_dict.items()
)
# write row
writer.writerow(row_dict)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.