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

如何将形状为(4,2,3)的3D列表写入CSV文件?

将3D列表写入CSV的实现方案

针对你提供的形状为(4, 2, 3)的3D列表,以下是几种符合常见CSV格式需求的实现方式,你可以根据目标格式选择:

方式1:展开为每行对应一个内层数组(带外层索引)

如果目标格式是每行包含外层分组序号+内层3个数值(共8行),可以用csv模块遍历写入:

import csv

mylist=[[[1,2,3],
      [1,4,3]],

     [[1,8,3],
      [1,4,3]],

     [[1,3,1],
      [1,4,3]],
     
     [[1,0,3],
      [1,4,3]]]

# 打开CSV文件并写入
with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    # 遍历外层分组,从1开始计数序号
    for group_num, group in enumerate(mylist, start=1):
        # 遍历每组内的两个子列表,写入行
        for sub_list in group:
            writer.writerow([group_num] + sub_list)

生成的CSV内容示例:

1,1,2,3
1,1,4,3
2,1,8,3
2,1,4,3
3,1,3,1
3,1,4,3
4,1,0,3
4,1,4,3

方式2:直接展开为纯数值行(无索引)

如果只需要将所有内层3元素数组按顺序写入(共8行3列),用numpy的reshape和savetxt更高效:

import numpy as np

mylist=[[[1,2,3],
      [1,4,3]],

     [[1,8,3],
      [1,4,3]],

     [[1,3,1],
      [1,4,3]],
     
     [[1,0,3],
      [1,4,3]]]

# 转换为numpy数组并重塑形状
arr = np.array(mylist).reshape(-1, 3)
# 写入CSV,指定分隔符和整数格式
np.savetxt('output.csv', arr, delimiter=',', fmt='%d')

生成的CSV内容示例:

1,2,3
1,4,3
1,8,3
1,4,3
1,3,1
1,4,3
1,0,3
1,4,3

方式3:每组占一行(拼接两个子列表)

如果目标是每个外层分组占一行,将两个子列表拼接为6个数值(共4行),可以这样实现:

import csv

mylist=[[[1,2,3],
      [1,4,3]],

     [[1,8,3],
      [1,4,3]],

     [[1,3,1],
      [1,4,3]],
     
     [[1,0,3],
      [1,4,3]]]

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    for group in mylist:
        # 拼接每组内的两个子列表为一行
        writer.writerow(group[0] + group[1])

生成的CSV内容示例:

1,2,3,1,4,3
1,8,3,1,4,3
1,3,1,1,4,3
1,0,3,1,4,3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:35:50