我有一个带有一组输入的CSV文件。
示例:
A B C D
我想分析结果并输出每行的CSV文件,例如:
B C
DictReader
构建完整字典,其中包含“A”“B”“C”“D”键。
DictWriter
按照预期设置字段。
但是,当我尝试将数据发送到DictWriter
时,我收到错误消息:
ValueError: dict contains fields not in fieldnames: A D
我必须手动从字典中删除值条目,还是有一种简单的自动方式来设置它?
我使用的是Python 2.6.6,无法更新到更高版本。
答案 0 :(得分:2)
是的,有一种简单的方法可以做到这一点。当您创建正在使用的csv.DictWriter
实例时,只需将关键字参数extrasaction='ignore'
传递给它 - 它的默认值为'raise'
,这是导致ValueError
例外的原因当你传递一个没有在fieldnames
参数中指定的密钥的字典时,就会得到它。