我有一些包含少量词典的“列表”——比如 3 个词典。 3本词典如下:
lstone = [{'dc_test': 1}, {'ac_test':2}, {'con_test':3}]
lsttwo = [{'dc_test': 4}, {'ac_test':5}, {'con_test':6}]
如何按如下方式创建新列表:
newlistone = ['dc_test',1,4]
newlisttwo = ['ac_test',2,5]
newlistthree = ['con_test',3,6]
我的目标是编写一个新的csv文件,使其显示如下:
dc_test,1,4
ac_test,2,5
con_test,3,5
请您参考如下方法:
首先将你的列表转换成字典
d = [dict(itertools.chain(*(d.iteritems() for d in a)))
for a in [lstone, lsttwo]]
接下来构建转置列表:
keys = d[0].keys()
transposed = [[e[k] for k in keys] for e in d]
最后,转置并使用 csv.writer 将其写入文件:
with open("a.csv", "wb") as f:
csv.writer(f).writerows(zip(keys, *transposed))
