1
兩個列表如何兩個列表中有兩列合併到一個
x = ['a','b','c','d','e']
y = ['s','t','u','v','w','x','y','z']
如何結合這兩種結果,並轉儲這些到CSV有兩列文件,我已經使用zip(x,y)
嘗試,但它刪除某些列表y
的最終對象。大多數解決方案都提供了x
和y
中的對象相同的情況,正如您在我的案例中所看到的那樣,情況並非如此。
兩個列表如何兩個列表中有兩列合併到一個
x = ['a','b','c','d','e']
y = ['s','t','u','v','w','x','y','z']
如何結合這兩種結果,並轉儲這些到CSV有兩列文件,我已經使用zip(x,y)
嘗試,但它刪除某些列表y
的最終對象。大多數解決方案都提供了x
和y
中的對象相同的情況,正如您在我的案例中所看到的那樣,情況並非如此。
改爲使用itertools.izip_longest()
function,並告訴它如何使用這些缺失的列;一個CSV文件一個空字符串會的工作:
for row in izip_longest(x, y, fillvalue=''):
# ...
注意的是Python 3,i
前綴從功能名稱中去掉。
如果你正在寫這些到CSV文件,你可以將整個對象發送到直接csv.writer.writerows()
功能:
import csv
from itertools import izip_longest
with open(filename, 'wb') as outf:
writer = csv.writer(outf)
writer.writerows(izip_longest(x, y, fillvalue=''))
Dude,'len()'支票可能會稍微貴一些,感謝你的努力。 – Zaibi
這是Python的2或3?對於沒有「x」值的行,應該寫入第二列的內容是什麼? –
@MartijnPieters正在使用python 2,我使用zip(x,y)並將它保存在另一個文件中,並將該文件寫入csv,它具有x的所有對象,但只有y的前5個對象。如果i
Zaibi
'行)'。雖然 – jDo