2013-10-22 62 views
6

假設我有一個結構的numpy的數組是這樣的:Python,如何將不等長的嵌套列表寫入csv文件?

[['a','b','c'],[1,2,3],['i','j','k','l'],[5,10,15,20]] 

,我想將其保存到一個CSV文件看起來像這樣

a, 1, i, 5 
b, 2, j, 10 
c, 3, k, 15 
, , l, 20 

長度較短的列只是填補空白。我怎樣才能做到這一點?

+0

你的numpy數組的形狀是什麼? –

+0

你的numpy數組是否包含4個正常的python列表? –

+0

是的,只是4個正常的python列表 – LWZ

回答

13

使用itertools.izip_longest

>>> from itertools import izip_longest 
>>> lis = [['a','b','c'],[1,2,3],['i','j','k','l'],[5,10,15,20]] 
>>> list(izip_longest(*lis, fillvalue='')) 
[('a', 1, 'i', 5), 
('b', 2, 'j', 10), 
('c', 3, 'k', 15), 
('', '', 'l', 20)] 

使用csv.writerows(izip_longest(*lis, fillvalue=''))寫這一個CSV文件。