将字典写入 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])
我是 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])