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

Python网页爬取报错:无法将含逗号字符串转为float类型

解决字符串转float时的千分位逗号问题

你遇到的错误是因为数字字符串包含千分位逗号(比如'5,742.86'),而Python的float()函数无法直接解析带逗号的字符串。解决方法很直接:先去掉逗号再转换类型。

修改核心代码

把原代码中转换market_cap的行:

"market_cap":float(col[2].contents[0][:-1])

改成:

"market_cap": float(col[2].contents[0][:-1].replace(',', ''))

额外补全代码逻辑

你的代码还有两处容易导致后续数据加载失败的问题:

  1. DataFrame的列名是["Name","mc_usd_millions"],但字典的键是bank_name和market_cap,两者不匹配,需要把字典键调整为和列名一致:
data_dict={
    "Name": col[1].find_all('a')[1].contents[0],
    "mc_usd_millions": float(col[2].contents[0][:-1].replace(',', ''))
}
  1. 原代码只定义了data_dict但没有将其添加到DataFrame中,需要在循环内追加数据:
# pandas 2.0及以上版本用该行
df = df._append(data_dict, ignore_index=True)
# pandas旧版本用该行
# df = df.append(data_dict, ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:13:23