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

Pandas解析2016美国大选维基页面报错,求解决方法

解决pandas read_html解析维基百科2016美国大选页面的ValueError问题

问题根源

错误提示中的{{{vp_count}}}是维基百科页面内嵌的模板占位符,并非合法的数字型rowspan属性值。pandas在解析表格时尝试将该占位符转换为整数,因此触发ValueError。

解决方案

1. 预处理HTML内容,替换非法占位符

先用requests获取页面源码,将有问题的占位符替换为合法的rowspan值(比如1),再传入read_html解析:

import pandas as pd
import requests

url = "https://en.wikipedia.org/wiki/2016_United_States_presidential_election"
response = requests.get(url)
# 替换模板占位符为合法的rowspan属性值
clean_html = response.text.replace('rowspan="{{{vp_count}}}"', 'rowspan="1"')
df_2016 = pd.read_html(clean_html)

2. 只解析目标表格,避开有问题的表格

如果不需要页面中所有表格,可通过match参数指定匹配目标表格的关键词,直接跳过包含占位符的异常表格:

import pandas as pd
# 匹配包含"Electoral vote"的选举结果表格
df_2016 = pd.read_html("https://en.wikipedia.org/wiki/2016_United_States_presidential_election", match="Electoral vote")

3. 升级pandas到最新版本

较新的pandas版本可能修复了这类模板占位符的解析兼容问题,执行以下命令升级:

pip install --upgrade pandas

方法选择建议

  • 若需要提取页面所有表格,优先选择方法1;
  • 若仅需特定选举结果表格,方法2更高效;
  • 长期来看,保持pandas版本更新(方法3)能避免更多类似兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:55:30