我有一个带有一组输入的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,并且无法更新到更高版本。

最佳答案

是的,有一种简单的方法可以做到。创建正在使用的csv.DictWriter实例时,只需将关键字参数extrasaction='ignore'传递给它-它的默认值是'raise',这是在传递给它的ValueError异常的原因。字典中未在fieldnames参数中指定键的字典。

顺便说一句,在提出SO问题之前先阅读relevant documentation通常是一个值得努力的工作,并且通常可以不拖延地提供答案。

关于python - 用csv.DictWriter写部分行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20977140/

10-10 01:36