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

Python运行CSV代码报错<class '_csv.Error'>及文件异常求助

错误原因解释与修复方案

错误原因

  • _csv.Error: iterable expected, not int 错误的核心是:调用csv模块的writerow()方法时,传入了单个整数类型的fees值,但writerow()要求传入可迭代对象(如列表、元组)——它会将可迭代对象中的每个元素作为一列写入CSV。直接传入整数会让Python尝试迭代该整数,这不符合方法要求,因此抛出错误。
  • 错误的写入操作会破坏party.csv的行列结构,导致文件格式异常。

修复方案

核心修复:将单个值包装为可迭代对象

如果你的代码中有类似以下错误写法:

writer.writerow(fees)  # fees是int类型,直接传入触发错误

需将单个值包装成列表或元组,让writerow()能正确识别为一行数据:

# 仅写入fees一列的情况
writer.writerow([fees])  # 用列表包装整数

完整写入示例(含多字段)

如果是同时写入姓名、费用等多个字段,需把所有字段放在同一个可迭代对象中传入:

import csv

# 正确追加写入数据到party.csv
with open('party.csv', 'a', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    # 每行数据用列表包裹,每个元素对应一列
    writer.writerow(["张三", 60])  # 姓名、费用作为一行的两列

额外注意事项

  • 打开CSV文件时,指定newline=''可避免写入后出现空行问题;
  • 确保所有写入的行数据均为可迭代结构(列表/元组),不要直接传入单个数值、字符串等非可迭代类型。

内容的提问来源于stack exchange,提问作者David Martinez Morel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:15:35