2013-10-22 32 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文件。