2017-09-15 97 views
1

我正試圖將數據寫入excel,其中每個列表位於不同的列中。到目前爲止,我已經能夠將數據放入csv文件的不同列中,但是當我在Excel中打開它時,它會將所有數據寫入同一列。我至今:Python將行和列寫入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

回答

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)