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

Python逐行读取CSV并为每行生成独立文本文件的问题排查

代码问题分析
  • CSV分隔符配置错误:你的CSV样本是逗号,分隔字段,但代码中csv.reader设置的delimiter=' '是按空格分割,会导致整行内容被识别为单个字段,无法正确拆分数据。
  • 循环内索引对象错误:你在for row in spamreader循环中,取值用的是spamreader[索引],spamreader是整个CSV所有行组成的列表,该写法每次取的都是整个CSV的固定行数据,而非当前遍历的行,正确应该用循环变量row来取当前行的字段。
  • 文件打开模式不合理:你用了a追加模式,如果重复运行代码内容会不断追加到同一文件中,按需求创建新文件建议用w覆盖模式,更符合预期。
修正后代码
import csv

# 可根据实际需求调整CSV文件路径
with open('labels_grenouilles.csv', newline='', encoding='utf-8') as csvfile:
    # 分隔符改为逗号匹配你的CSV格式
    spamreader = csv.reader(csvfile, delimiter=',', quotechar='|')
    for row in spamreader:
        # 跳过空行避免报错
        if not row:
            continue
        # 用当前行的第6个字段(索引从0开始计数对应索引5)作为文件名
        filename = f"{row[5]}.txt"
        # 用with语法自动管理文件句柄无需手动调用close
        with open(filename, 'w', encoding='utf-8') as f:
            # 写入前5个字段,用空格分隔
            f.write(' '.join(row[:5]))

内容的提问来源于stack exchange,提问作者J.erome

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:06:03