我有这种格式的字典:
data_dict = {'a' : [1,2,3], 'b' : [[4,5],[6,7],[8,9]]}
我想要做的是以“格式”列的形式将数据从字典解析为csv文件。所以关键是标题,然后是值,所以输出应该如下:
a b
1 [4,5]
2 [6,7]
3 [8,9]
我曾尝试使用csv.DictWriter
或csv.writer
,但没有任何结果可供我使用。
答案 0 :(得分:6)
您可以使用zip
聚合多个迭代中的元素:
>>> rows = zip([1,2,3], [[4,5],[6,7],[8,9]])
>>> for row in rows:
... print(row)
...
(1, [4, 5])
(2, [6, 7])
(3, [8, 9])
import csv
import sys
data_dict = {'a' : [1,2,3], 'b' : [[4,5],[6,7],[8,9]]}
keys = sorted(data_dict) # to get ordered keys
values = [data_dict[key] for key in keys]
writer = csv.writer(sys.stdout, delimiter='\t') # Replace `sys.stdout` as you need
writer.writerow(keys)
for row in zip(*values):
writer.writerow(row)