使用循环在writerow {}中写入csv文件的列

时间:2018-04-06 05:25:08

标签: python-3.x csv

csv文件中的11列,第1列的标题是'Week',其余标题是'Person1','Person2'......'Person10'。 使用csv的writerow在for循环中将多行写入csv文件。但是如何编写循环来编写每一列?例如:

writer.writerow({'Week': xxx,
                 for i in range (1, 11):
                     'Person{}'.format(i): some value,
                     })

1 个答案:

答案 0 :(得分:1)

我认为writerow不需要您在每个调用中传入带有标题名称的字典。您只需将字段值的列表/可迭代值作为字符串传递。

无论如何,如果你用“列表理解”(Pythonic方式)替换上面的for循环,你可以实现的目标。

fieldnames = ['Week'] + ['Person{}'.format(i) for i in range(1,11)]
writer.writerow(dict(fieldnames, [xxx] + [value for i in range(1,11)]))

您需要填写逻辑以在第二个value循环的每次迭代中获得for