【发布时间】:2015-06-06 16:20:26
【问题描述】:
我正在尝试将嵌套字典写入 .csv 文件。这是一个简单的例子:
import csv
import itertools
fields = [ 'org', '2015', '2014', '2013' ]
dw = { 'orgname1': { '2015' : 2, '2014' : 1, '2013' : 1 },
'orgname2': { '2015' : 1, '2014' : 2, '2013' : 3 },
'orgname3': { '2015' : 1, '2014' : 3, '2013' : 1 }
}
with open("test_output.csv", "wb") as f:
w = csv.writer( f )
years = dw.values()[0].keys()
for key in dw.keys():
w.writerow([key, [dw[key][year] for year in years]])
这给我一个包含两列的表:第一列包含orgname;第二个包含 [2, 1, 1] (或子字典中的相应值)。我想要一个有四列的表格:一列用于orgname,然后三列用于对应的列表元素。
【问题讨论】:
-
dicts 没有顺序,所以你马上就有麻烦了
-
@PadraicCunningham 同意了。然而,他的钥匙似乎是按照字典顺序排列的。因此,他仍然可以通过对 dw.keys() 进行排序然后对其进行迭代来使其工作。
标签: python csv dictionary