You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含嵌套列表的多列表数据写入CSV文件?

动态嵌套列表的CSV写入解决方案

要实现将list_1与list_2中任意数量的嵌套列表按指定格式写入CSV,核心是先对list_2进行转置,再与list_1组合生成每行数据,具体实现如下:

关键思路

list_2中的每个子列表对应CSV的一列,转置后每个子列表对应CSV的一行后续内容,再与list_1的元素一一组合,即可得到目标格式的行数据。

代码实现

import csv

list_1 = [2000.0, 2100.0, 2200.0]
list_2 = [[-1.86, 0.49, 1.36], [-1.29, 0.59, 1.62], [-.99, 0.19, 1.76]]

file_name = "output.csv"

with open(file_name, 'w', newline='') as file:
    # 指定制表符分隔,匹配目标格式
    writer = csv.writer(file, delimiter='\t')
    # 转置list_2,再与list_1元素组合成每行
    rows = [(num,) + cols for num, cols in zip(list_1, zip(*list_2))]
    writer.writerows(rows)

代码说明

  1. zip(*list_2):实现嵌套列表转置,将原list_2中每个子列表的对应位置元素提取为新元组,例如原list_2转置后得到:
    [(-1.86, -1.29, -0.99), (0.49, 0.59, 0.19), (1.36, 1.62, 1.76)]
    
  2. 列表推导式:将list_1的每个元素与转置后的对应元组合并,生成完整的行数据。
  3. 动态适配:无论list_2中有多少个嵌套子列表,代码无需修改即可自动适配,满足动态扩展需求。

测试验证

如果list_2新增一个嵌套子列表:

list_2 = [[-1.86, 0.49, 1.36], [-1.29, 0.59, 1.62], [-.99, 0.19, 1.76], [-0.5, 0.3, 1.2]]

写入CSV后会自动生成如下格式:

2000    -1.86    -1.29    -.99    -0.5
2100    0.49    0.59     0.19    0.3
2200    1.36     1.62     1.76    1.2

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:55:16