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)