【发布时间】:2018-05-03 05:48:15
【问题描述】:
我在 Python 3 中使用 DictWriter 将对象的状态输出到文本文件中,如下所示:
def to_csv(self):
with open('filename', 'w') as myfile:
fieldnames = ['a1', 'a2', 'a3', 'a4', 'a5']
wr = csv.DictWriter(myfile, fieldnames=fieldnames)
wr.writeheader()
for idx, row in enumerate(self.tasks):
wr.writerow(row)
不过,我想在输出中添加一个额外的列。这就是我想要达到的目的:
wr.writerow(row + 'task number:'+idx)
任何pythonic方法可以做到这一点?我想我可以为每一行准备一个字符串,将任务编号附加到该字符串然后将其传递给 writerow(使用常规编写器而不是 DictWriter),但我不想弄乱字符串并使用 DictWriter如果可能的话直接...
【问题讨论】:
-
为什么
wr.writerow(row + {'task number': idx})不起作用?只需将其添加到字段名称列表中,您就可以了。 -
但是我不想在字典本身中添加一个字段,如果这就是你的意思吗?因为不接受在 writerow 中简单地连接它们 - 没有定义 + 运算符......即使你将 dict 行连接到 dict 行
标签: python-3.x dictionary export-to-csv