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

使用pd.read_html解析维基百科表格时出现ValueError报错如何解决

问题原因

该报错由维基百科可排序表格自带的data-sort-value自定义属性导致。pandas解析HTML表格时,会误将部分暴露的属性内容识别为单元格的实际文本,尝试转换为整数时触发格式错误。你不需要修改维基原页面布局,仅需清理本地解析得到的BeautifulSoup对象即可解决问题。

修复后的完整代码
import requests
from bs4 import BeautifulSoup
import pandas as pd

wikiurl = 'https://en.wikipedia.org/wiki/List_of_UFC_events'
response = requests.get(wikiurl)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', id="Past_events")

# 清理所有单元格的data-sort-value属性
for cell in table.find_all(["th", "td"]):
    if "data-sort-value" in cell.attrs:
        del cell["data-sort-value"]

# 读取处理后的表格,read_html返回列表取第一个元素即为目标DataFrame
df = pd.read_html(str(table))[0]
补充说明
  • 除了data-sort-value,如果遇到其他维基表格自定义属性干扰解析,也可以用同样的方法批量删除对应属性后再解析
  • 如果需要保留排序值做额外处理,可以在删除属性前先将值提取出来存储为单独的列使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:39:03