将字典写入 csv,每个值一行

Write dictionary to csv with one line per value

我是 Python 的新手,如果这是一个非常基本的问题,请原谅。我有一本 Python 字典,例如这个:

foo = {'bar1':['a','b','c'], 'bar2':['d','e']}

我想将它写入一个 csv 文件,每个 value 一行,键作为每行的第一个元素。输出将是(无论引号是什么):

bar1,'a'
bar1,'b'
bar1,'c'
bar2,'d'
bar2,'e'

我试过了such as suggested here

import csv
with open('blah.csv', 'wb') as csv_file:
    writer = csv.writer(csv_file)
    for key, value in foo.items():
       writer.writerow([key, value])

但这给出了以下输出,每个 key 一行:

bar1,"['a', 'b', 'c']"
bar2,"['d', 'e']"

感谢您的帮助!

这是因为 [key, value]value 中包含多个 "values"。尝试像这样遍历字典:

for key, values in foo.items():
    for value in values:
        writer.writerow([key, value])