2013-11-14 43 views
0

我有一個看起來像列表:用python寫入列表作爲列表的csv?

[('CarrierDel', '1973.0', '4227.0', '518.0', '2701.0', '3249.0', '7354.0', '980.0', '428.0', '394.0'), ('CarrierID', '9E', 'AA', 'AS', 'B6', 'DL', 'EV', 'F9', 'FL', 'HA'), ('Delays', '3626.0', '8394.0', '1071.0', '3880.0', '5927.0', '13836.0', '1461.0', '1254.0', '303.0')] 

其中 'CarrierDel', 'CarrierID' 和 '延誤' 是我的頭。我想寫這個到一個CSV文件。是否有相當於作家,但列?還是有另一種方式去解決這個問題?

謝謝!

+0

你可以編譯3個一起使行,而不是列的例如改變你提供的東西像'[('CarrierDel','CarrierID','延遲')...]等等。就像矩陣轉置一樣。 – PurityLake

回答

4
import csv 
w = csv.writer(open("some_file.txt","w")) 
w.writerows(zip(*list_of_cols)) 

應該這樣做

拉鍊調換的2D陣列(除其他外)所看到下面

a = [[1,2,3],[4,5,6],[7,8,9]] 
#transpose a with zip 
print zip(*a) #prints [(1,4,7),(2,5,8),(3,6,9)] 
+0

所以這對我有用。但是,當我使用open(output.csv,'w')作爲輸出時它是如何來的:它將csv文件中的每個項目分開? – marc

+0

?你什麼意思? –

+0

對不起,我會盡力澄清。當我完全使用你給我的東西時,它會起作用。當我嘗試使用open('output.csv','w')...'我的輸出看起來像'['CarrierDel','CarrierID','Delays']「,'['1973.0','9E '','3626.0']「,」['4227.0','AA','8394.0']「,」['518.0','AS','1071.0']「,」['2701.0','B6', '3880.0']「,'['3249.0','DL','5927.0']」,「['7354.0','EV','13836.0']」,「['980.0','F9','1461.0 ']「,」['428.0','FL','1254.0']「,'['394.0','HA','303.0']」 – marc