在python中,将两个列表写入csv文件中的两个不同列



如果不将单词拆分为字符,如何将两个不同的列表写入csv文件中的两列?尝试为"创建一列;标题";另一个用于";得分";。

with open("file.csv", "w", encoding="utf-8") as f:
writer = csv.writer(f, delimiter='t')
writer.writerow(('Title', 'Score'))
for i in zip(list1, list2):
writer.writerow(i)

这将返回

标题分数

T S

i c

t o

l r

e e

实际上,您的代码运行得非常好。一个完整的例子:

import csv
list1 = ['one','two']
list2 = ['three','four']
with open("file.csv", "w", encoding="utf-8") as f:
writer = csv.writer(f, delimiter='t')
writer.writerow(('Title', 'Score'))
for i in zip(list1, list2):
writer.writerow(i)

中的结果

Title   Score
one three
two four

因此,你的问题中缺少的信息是list1和list2实际上是什么,如果list1只是字符串"Title",list2只是字符串"Score",那么你就会得到结果,因为它在字符上迭代(因为它们只是字符串,而不是列表(。

您不需要遍历压缩数组。不过,您确实需要替换分隔符。

with open("file.csv", "w", encoding="utf-8") as f:
writer = csv.writer(f, delimiter=',')
writer.writerow(('Title', 'Score'))
writer.writerows(zip(list1, list2))

最新更新