python - 如何将具有多个值的字典写入 CSV?

标签 python csv dictionary

我有一本看起来像这样的字典

{ 1: ['apple', 'orange'],
  2: ['fennel', 'basil', 'bay leaves'],
  3: ['almonds', 'walnuts']}

我正在尝试将其导出为 CSV 并使表格如下所示:

list_id    list_items
1           apple
1           orange
2           fennel
2           basil
2           bay leaves
3           almonds
3           walnuts

我不知道该怎么做的主要事情是如何解析字典中的多个值,以便我有单独的行。我研究过 csv.writerow() 但文档不是很有帮助,因此非常感谢示例!

最佳答案

循环遍历字典键/值,然后循环遍历值:

import csv

D = { 1: ['apple', 'orange'],
      2: ['fennel', 'basil', 'bay leaves'],
      3: ['almonds', 'walnuts']}

# with open('out.csv','w',newline='') as f:  # Python 3
with open('out.csv','wb') as f:              # Python 2
    w = csv.writer(f)
    w.writerow(['list_id','list_items'])
    for key,items in D.items():
        for item in items:
            w.writerow([key,item])

关于python - 如何将具有多个值的字典写入 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45426813/

相关文章:

c# - 如何使用 FileHelpers 编写带标题的 CSV 文件?

python - 如何合并两个表并从 Python 中每个单元格中的先前值计数中划分数字实例?

c++ - flex C++ 中的 map<char[], char[]> 无法编译

python - Altair 折线图中的工具提示

python - 是否可以在cassandra中创建带有uuid的表?

python - 分词高棉语的可行解决方案?

python - 从 csv 中删除重复文本

python - pandas 中的 block 子集

python - 迭代python中的两个字典

javascript - 为什么过滤字典上的 `ng-repeat` 会导致 `10 $digest() iterations reached` 错误?