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

如何将包含子列表与整数的混合数据写入CSV得到1、2、3、4、5列

问题原因分析
  • 调用writerows()时,方法要求传入的参数是「行集合」,每一行必须是可迭代对象(对应每一列的内容)。你的原始数据[[1, 2, 3], 4, 5]中第二个、第三个元素是int类型,不是可迭代对象,因此触发iterable expected, not int报错。
  • 直接调用writerow(data)时,方法会把data的三个顶层元素作为三列处理,因此会把[1,2,3]整个当成第一列内容,不符合你要拆分五列的需求。
解决方法

你只需要先把嵌套的data打平为一维列表,再传入writerow()即可,示例代码如下:

import csv  

data = [[1, 2, 3], 4, 5]

# 打平嵌套的列表(适配当前一层嵌套的数据结构)
flattened = []
for item in data:
    if isinstance(item, (list, tuple)):
        flattened.extend(item)
    else:
        flattened.append(item)

# 加newline=''避免Windows系统下生成的CSV出现多余空行
with open('test.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(flattened)

运行后生成的CSV文件内容为1,2,3,4,5,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:36:04