将dict的dict写入CSV,每行一个键/值,键填充列

时间:2019-02-28 09:37:31

标签: python loops csv dictionary key

我想将字典的字典写到CSV文件, 每行一个键/值。

字典如下:

d = {'animal':{'reptile':['lizard', 'snake']},'food': {'meat': ['bacon', 'lamb', 'beef']}}

所需的CSV文件如下:

animal,reptile,lizard
animal,reptile,snake
food,meat,bacon
food,meat,lamb
food,meat,beef

我的代码:

import csv
d = {'animal':{'reptile':['lizard', 'snake']},'food': {'meat': ['bacon', 'lamb', 'beef']}}

f= open('file.csv', 'w', newline='')
with open('file.csv', 'w', newline='') as f:  
    writer = csv.writer(f,delimiter=',')
    for key, key2s in d.keys():
        for key2, values in d.items():
            for value in values:    
                writer.writerow([key, key2, value])

我知道这里的for循环出了点问题,我尝试了各种变体,但仍然卡住了。我已经搜索并阅读了一些帖子,但没有找到可以帮助我解决问题的答案。您能指出我在这里错过的事情吗?

1 个答案:

答案 0 :(得分:0)

您需要将每个循环中的值用作在下一个循环中迭代的对象。另外,两个循环都需要使用Paper numCitations Proceedings Title7 8 Proc3 Title4 7 Proc2 ,而不是items()

keys()