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文件?的主要内容,如果未能解决你的问题,请参考以下文章

将嵌套列表写入 CSV (Python)

将 Python 列表写入 csv 中的列

在Python中的列中将不同大小的列表写入csv

Python:将嵌套字典写入 CSV

如何将列表列表写入 CSV 文件 Python?

如何将数据从 python 列表中的列和行写入 csv 文件?