2017-03-28 93 views
2

我有幾個python的列,我最終試圖合併。現在我正在使用zip函數,但是在合併列之後,我將它們輸出爲CSV格式,而且格式很糟糕(而不是將這些列分隔開來,因爲zip是在添加新列的時候合併列)。這裏有一個例子:將多列合併到矩陣python

col1 = [text1, text2, text3, etc] 
col2 = [str1, str2, str3, etc.] 
col3 = [num1, num2, num3, etc.] 

我希望他們結合這樣的:

[[text1, str1, num1], 
[text2, str2, num2], 
[text3, str3, num3]] 

從那裏我將能夠在該矩陣爲CSV其中列都是獨立的輸出。現在它看起來是這樣的:

我的代碼

file_weights = similarity[0] 
file_ranking = zip(filtered_and_cleaned, case_id)[1:] 
file_ranking_2 = zip(file_ranking, file_weights)[1:] 

輸出

[[text1 str1, num1], 
[text2 str2, num2], 
[text3 str3, num3]] 

我明白爲什麼我在做什麼不工作,我只是不知道如何修理它。

+0

我是錯的。但是,我猜想將內容寫入到您在此處共享的csv後的輸出是錯誤的。如在,你已經給出了期望的列表,而不是預期的列表。 –

回答

1

zip指向列列表的指針應該可以做到這一點!

col1 = [text1, text2, text3] 
col2 = [str1, str2, str3] 
col3 = [num1, num2, num3] 
print zip(*[col1,col2,col3]) 

在Python 3中zip返回一個迭代器。因此,您的結果list將提供所需的輸出!

也就是說,

print list(zip(*[col1,col2,col3])) 

輸出格式將東西如下!:

[[text1, str1, num1], 
[text2, str2, num2], 
[text3, str3, num3]] 

希望它能幫助。

快樂編碼!

+0

這很完美。謝謝! –

+0

如果您覺得解決方案能夠解決您的問題,請接受答案,以便在將來遇到類似問題時,正確的解決方案可能即將到來! –