Python将行和列写入Excel

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

目前的结果: 目前的结果

预期结果: 预期结果

row已经是一个元组,所以你不必把它放到列表中,只需写a.writerow(row)

还有两个提示:用with语句打开文件,然后文件将自动closures。

当你打开文件时,传递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)