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

Python ValueError报错求助:处理Cooper Kupp橄榄球数据时字符串转浮点数失败

问题根因

报错ValueError: could not convert string to float: 'AP MVP-3, AP OPoY-5, AP ORoY-2, AP1, PB'是因为代码硬把Cooper Kupp的球员荣誉字符串当成数值转成float了——这字符串里全是奖项缩写,根本不是数字,转换自然失败。

修复方案

1. 给浮点数转换加安全校验

写个工具函数,先尝试转换,失败就返回原字符串或空值,避免崩溃:

def safe_to_float(text):
    try:
        return float(text.strip())
    except ValueError:
        # 非数值内容直接返回原文本,或者根据需求返回空字符串
        return text.strip()

然后把代码里所有直接用float(cell.get_text())的地方,替换成safe_to_float(cell.get_text())。

2. 针对性调整字段处理逻辑

如果那个字段本来就可能存荣誉(不是数值),得先判断字段类型:

  • 找到player_recur函数里处理该列的位置
  • 确认列标识(比如列名或索引),如果是荣誉列,直接跳过浮点数转换,把原字符串写入表格就行

示例修改(对应报错相关代码段)

找到player_recur中处理单元格数据的循环,改成这样:

# 遍历单元格时的处理逻辑
for cell in table.find_all('td'):
    cell_content = cell.get_text(strip=True)
    # 安全转换或保留原内容
    processed_content = safe_to_float(cell_content)
    # 写入表格
    writer.writerow([..., processed_content, ...])

内容的提问来源于stack exchange,提问作者World Mapper 2

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:25:18