Python,如何将长度不等的嵌套列表写入csv文件?
Posted
技术标签:
【中文标题】Python,如何将长度不等的嵌套列表写入csv文件?【英文标题】:Python, how to write nested list with unequal lengths to a csv file? 【发布时间】:2013-10-30 21:09:16 【问题描述】:假设我有一个结构如下的 numpy 数组:
[['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
长度较短的列只填充空白。我该怎么做?
【问题讨论】:
你的 numpy 数组的形状是什么? 你的 numpy 数组是否包含 4 个普通的 python 列表? 是的,只有 4 个普通的 python 列表 【参考方案1】:使用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 文件。
【讨论】:
以上是关于Python,如何将长度不等的嵌套列表写入csv文件?的主要内容,如果未能解决你的问题,请参考以下文章