首页 > 解决方案 > 从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())

标签: pythoncsvdictionary

解决方案


writerow 方法期望可迭代,并且因为字符串是单个字母的可迭代,它写入您的单词按每个字符拆分

您可能想使用 csv.DictWriter 而不是 csv.writer - 在https://docs.python.org/3/library/csv.html#csv.DictWriter您可以查看文档以及简单示例

(主要区别:对于 writerow,您将传递整个 dict 而不是从中传递单个值,您还需要提供 fieldnames 参数 - 以确定列的顺序)


推荐阅读