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

Python报错ValueError: invalid literal for int() with base 10: 'Gene1'求助

问题根因

代码第96行a.append(int(x1[0]))执行时,x1[0]的取值为字符串Gene1,int()函数仅支持将符合整数格式的字符串转换为数值,传入非数字格式的字符串就会触发该 ValueError。
绝大多数场景下是新增第二部分代码后,读取的数据源包含表头行(第一行存储列名,Gene1属于表头字段),没有跳过表头就直接对所有行的第一个字段执行整数转换导致。

可落地解决方案

  • 读取数据时优先跳过表头行,例如使用csv.reader读取文件时,遍历行之前执行next(reader)跳过表头
  • 存在非数字行的场景下可以加异常捕获兼容:
try:
    a.append(int(x1[0]))
except ValueError:
    # 可根据业务需求调整逻辑,比如跳过该行、记录问题行日志
    pass
  • 先做格式校验再执行转换:
if x1[0].isdigit():
    a.append(int(x1[0]))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:27:03