我正在尝试将数据写入excel,其中每个列表都在不同的列中。到目前为止,我已经能够将数据放入csv文件中的不同列中,但是当我在excel中打开它时,它会将所有数据写入同一列。到目前为止我所拥有的:
import csv
list1 = [1,2,3,4,5,6]
list2 = ['a','b','c','d','e','f']
list3 = ['G','H','I','J','K','L']
b = open('lists.csv','a')
a = csv.writer(b)
rows = zip(list1,list2,list3)
for row in rows:
print(row)
a.writerow([row])
b.close()
目前的结果:
预期结果:
答案 0 :(得分:0)
row
已经是一个元组,因此您无需将其放入列表中,只需编写a.writerow(row)
即可。
另外两个提示:使用with
语句打开文件,然后文件将自动关闭。
当您打开文件时,请传递newline=''
以避免出现空行。
import csv
list1 = [1,2,3,4,5,6]
list2 = ['a','b','c','d','e','f']
list3 = ['G','H','I','J','K','L']
with open('lists.csv', 'a', newline='') as csv_file:
writer = csv.writer(csv_file)
for row in zip(list1, list2, list3):
writer.writerow(row)