Python将行和列写入Excel

时间:2017-09-15 13:38:59

标签: excel python-3.x csv

我正在尝试将数据写入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()

目前的结果:current outcome

预期结果:expected outcome

1 个答案:

答案 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)