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

如何将列表元素写入CSV独立字段?二维列表CSV写入排障

解决二维列表写入CSV时子列表被放入单列的问题

看起来你的代码逻辑本身是对的——csv.writer的writerow()方法就是把传入的可迭代对象(比如你的子列表)的每个元素拆分成单独列的。之所以出现每个子列表挤在同一列的情况,大概率是这两个常见问题之一:


1. 忘记导入csv模块

如果你的代码里没有开头的import csv,Python会直接报错;要是你漏写了这段却强行运行,可能会触发意外行为(比如误将列表转成字符串写入)。

修正:在代码最顶部添加导入语句:

import csv

2. Windows系统下未设置newline=''参数

在Windows环境中用open()写CSV时,如果不指定newline='',会导致每行末尾多出额外的换行符,CSV阅读器会因此把整行内容识别成单个列,看起来就像每个子列表都挤在一列里。

修正后的完整代码:

import csv

example_list = [[1,2,3], [4,5,6], [7,8,9]]
# 关键:添加newline=''参数避免换行符问题
with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    for line in example_list:
        writer.writerow(line)

另外,你还可以用更简洁的writerows()方法一次性写入所有行,效果完全一致:

import csv

example_list = [[1,2,3], [4,5,6], [7,8,9]]
with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(example_list)  # 直接传入整个二维列表即可

修改后重新运行代码,打开生成的example.csv就能看到:每个子列表的元素对应单独列,每个子列表对应单独一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:32:44