2014-02-25 74 views
1

我有一個Python列表中的數組,我想導出到一個csv文件,我可以導出一個csv,但是在換行符時遇到了一些麻煩。我的名單看起來是這樣的:在python中導出數組列表爲csv

myList = [[itema, itemb], [itema_1,itemb_1], ... , [itema_n, itemb_n]] 

我想爲我的csv文件是這樣的:

itema, item 
itema_1, item_1 
... 
itema_n, item_n 

這是我當前的代碼,這給了我([意達,itemb],[itema_1 ,itemb_1]等)

with open('sng_pyout', 'wb') as output: 
    new_writer = csv.writer(output) 
    new_writer.writerow(myList) 
+0

什麼是'newobject'?但是無論如何,你只用一次'writerow',難怪你在輸出文件中只有一行。使用'writerows'一次寫入多行。 –

+0

對不起,應該說myList – joseph

回答

0

嘗試如下:

with open('sng_pyout', 'wb') as output: 
    new_writer = csv.writer(output) 
    for row in myList: 
     new_writer.writerow(row) 
1

看起來你只是告訴csv.writer寫一行,因爲每次調用csv.writerow時都會寫入一行,並將其傳遞給它。 相反:

with open('sng_pyout', 'wb') as output: 
    new_writer = csv.writer(output) 
    for sub_list in myList: 
     new_writer.writerow(sub_list) 
1

使用writerows(複數!)方法,所有的行一次寫:

with open('sng_pyout', 'wb') as output: 
    new_writer = csv.writer(output) 
    new_writer.writerows(myList) 

writerow(單數)需要列的列表。而且,由於你的myList是一個列表,它假定它是列的列表,所以它引用它的元素,寫爲CSV:

"['jack', ' 4']","['mike', ' 12']" 

writerows(!複數)方法需要的列清單列表,這是適合你的myList