将数据从字典加载到csv

时间:2017-02-25 09:08:10

标签: python csv dictionary text

我有这种格式的字典:

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.DictWritercsv.writer,但没有任何结果可供我使用。

1 个答案:

答案 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)