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

为什么Python处理CSV的代码触发异常时无法打印row变量的值?

问题原因分析
  • 你使用的csv.reader读取CSV返回的每一行row是列表(list)类型,只能通过整数下标或者切片访问元素,不支持字典的字符串键访问语法。
  • 异常捕获分支中构造ValueError时,你调用了row['_id'],这行代码会在你预期的ValueError抛出前先执行,直接触发了TypeError,所以原本要打印的row相关内容根本没有机会输出。
修复方案

如果需要获取_id对应列的值,可以选以下两种方案:

  1. 替换csv.reader为csv.DictReader,读取返回的每一行会自动转为字典类型,支持字符串键访问
  2. 保留csv.reader的前提下,先获取_id列的索引再取值,示例如下:
# 表头行处理时先存_id的索引
id_pos = row.index('_id')
# 异常分支用索引取值
raise ValueError('Invalid row: {} {}'.format(str(row), row[id_pos]))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:27:07