2013-11-14 66 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