请帮助我解决有关csv文件的问题。我有2个列表,我想将它们写到一个csv文件中,如下所示:
X = [12,423,56]
Y = [35,78,321]
csv文件还包含一个自动生成的索引列“ No”:
No,X,Y
1,12,35
2,423,78
3,56,321
答案 0 :(得分:2)
您可以使用标准库中的csv模块以及zip和enumerate内置函数来完成此操作。
with open('myfile.csv', 'w', newline='') as f:
writer = csv.writer(f)
# Write column headers
writer.writerow(['No', 'X', 'Y'])
for i, (a, b) in enumerate(zip(X,Y), start=1):
writer.writerow([i, a, b])
输出:
No,X,Y
1,12,35
2,423,78
3,56,321
csv
模块提供了用于读取和写入csv文件的工具。
enumerate
输出循环的每次迭代的索引;在这里,我们将其配置为使用1作为起始值-默认情况下,它从零开始。
zip
接受一个或多个可迭代对象作为输入,循环遍历每个可迭代对象,并每次从可迭代对象中的后续位置产生元素:
等
如果可迭代项的长度不尽相同。zip
一旦消耗了最短的可迭代项就停止产生。