python - 从dict中提取变量并保存到csv
问题描述
我想从字典中提取某些变量并将它们保存在一个csv
(有时,key
我正在寻找的变量可能不存在。我是使用字典的新手,所以我不知道如何处理这个)。
我正在使用下面的代码,它可以工作,但以某种方式将提取的变量的每个字符打印到一个新列(而不是 1 个单元格中值的所有字符)。
另外,我不确定它在找不到密钥时的行为。任何建议将不胜感激:
with open('20181122_1300_Token_test.csv','a',encoding='utf-8') as f:
w = csv.writer(f, delimiter=";", lineterminator='\n')
w.writerow(data.get('name'))
#w.writerow(data.values())
解决方案
writerow 方法期望可迭代,并且因为字符串是单个字母的可迭代,它写入您的单词按每个字符拆分
您可能想使用 csv.DictWriter 而不是 csv.writer - 在https://docs.python.org/3/library/csv.html#csv.DictWriter您可以查看文档以及简单示例
(主要区别:对于 writerow,您将传递整个 dict 而不是从中传递单个值,您还需要提供 fieldnames 参数 - 以确定列的顺序)