字典到CSV

时间:2017-08-01 22:33:48

标签: python csv dictionary

尝试使用字典填充CSV文件。

这是我正在尝试的代码:

import csv

my_dict = {'App 1': 'App id1', 'App 2': 'App id2', 'App 3': 'App id3'}
with open('test.csv', 'w') as f:
    fieldnames = ['Application Name', 'Application ID']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(my_dict)

使用此代码,只创建带有标题的csv文件。

我正在寻找类似的输出:

enter image description here

2 个答案:

答案 0 :(得分:4)

您需要将数据重新格式化为一个dicts列表,以便将旧dict中的键和值作为值放在新dicts中的字段名中:

my_dict = {'App 1': 'App id1', 'App 2': 'App id2', 'App 3': 'App id3'}
with open('test.csv', 'w') as f:
    fieldnames = ['Application Name', 'Application ID']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    data = [dict(zip(fieldnames, [k, v])) for k, v in my_dict.items()]
    writer.writerows(data)

答案 1 :(得分:3)

您也可以在没有导入和更少行代码的情况下执行此操作:

my_dict = {'App 1': 'App id1', 'App 2': 'App id2', 'App 3': 'App id3'}
with open('test.csv', 'w') as f:
    f.write('Application Name, Application ID\n')
    for key in my_dict.keys():
        f.write("%s,%s\n"%(key,my_dict[key]))