【发布时间】:2016-09-18 21:23:02
【问题描述】:
我已经编写了一个脚本,它提供如下列表作为输出。
['red', '361', '0']
['blue', '1', '0']
['orange', '77', '0']
['cream', '660', '73']
['ivory', '159', '0']
这个列表非常庞大,我想将输出内容写入顶部带有标题的 csv,如下所示。
color | total | fail
这是我试图实现它的方法
with open('colour.csv', 'wb') as csvfile:
header = ['color', 'total', 'fail']
writer = csv.writer(csvfile, delimiter=',')
writer.writerow(header)
for row in output:
writer.writerow(output)
但是我得到的输出并不像预期的那样。生成 csv 并将列表的最后一行打印三次到 csv。我无法找到为什么不打印所有其他行或为什么最后一行打印三次? 这是我得到的示例输出:
color | total | fail
ivory | 159 | 0
ivory | 159 | 0
ivory | 159 | 0
这是我期望的输出:
color | total | fail
red | 361 | 0
blue | 1 | 0
orange | 77 | 0
cream | 660 | 73
ivory | 159 | 0
谁能帮我解决这个问题?
【问题讨论】:
-
不应该是
writer.writerow(row)吗? -
for row in output: writer.writerow(output)看起来很奇怪,您目前还有output未定义。 -
output来自哪里?这似乎很关键。它似乎只是最后一行而不是所有行。 -
@AlexHall
output正在将列表写入 csv。 -
你这么说,但我很确定它只是最后一行,即一维列表,而不是所有行,这将是一个二维列表。
标签: python csv export-to-csv