我是一个新手Python程序员,正在努力将一个字典列表保存到CSV文件中。
我想要使用竖线字符作为分隔符将我的列表写入CSV文件中。
我的列表如下:
[{'COAST': {'Max_Load': 18779, 'Month': 8, 'Day': 13, 'Hour': 17, 'Year': 2013}},
{'EAST': {'Max_Load': 2380, 'Month': 8, 'Day': 5, 'Hour': 17, 'Year': 2013}},
{'FAR_WEST': {'Max_Load': 2281, 'Month': 6, 'Day': 26, 'Hour': 17, 'Year': 2013}},
{'NORTH': {'Max_Load': 1544, 'Month': 8, 'Day': 7, 'Hour': 17, 'Year': 2013}},
{'NORTH_C': {'Max_Load': 24415, 'Month': 8, 'Day': 7, 'Hour': 18, 'Year': 2013}},
{'SOUTHERN': {'Max_Load': 5494.157645, 'Month': 8, 'Day': 8, 'Hour': 16, 'Year': 2013}},
{'SOUTH_C': {'Max_Load': 11433, 'Month': 8, 'Day': 8, 'Hour': 18, 'Year': 2013}},
{'WEST': {'Max_Load': 1862, 'Month': 8, 'Day': 7, 'Hour': 17, 'Year': 2013}},
{'ERCOT': {'Max_Load': 67595, 'Month': 8, 'Day': 7, 'Hour': 17, 'Year': 2013}}]
我的最终csv应该是这样的:
Station|Year|Month|Day|Hour|Max Load COAST|2013|01|01|10|12345 EAST|2013|01|01|10|12345 FAR_WEST|2013|01|01|10|12345 NORTH|2013|01|01|10|12345 NORTH_C|2013|01|01|10|12345 SOUTHERN|2013|01|01|10|12345 SOUTH_C|2013|01|01|10|12345 WEST|2013|01|01|10|12345
我正在尝试编写一个名为save_file的函数,将列表保存在像上面那样的csv文件中,但我卡在了如何获取字典键并将它们写入行('COAST')和列('Year','Month','Date','Hour','Max Load')中。
def save_file(data, filename):
for i in range(len(data)):
for k,v in data[i].items():
print k
for k1,v1 in v.items():
print k1,v1
with open(filename,'wb') as f:
fieldnames = ["Station","Year", "Month", "Date", "Hour", "Max Load"]
wr = csv.writer(f, delimiter="|", fieldnames = fieldnames)
wr.writeheader()
非常感谢您的任何帮助。
list_of_dict
里了吗? - Mazdak