pandas.read_html 报错FileNotFoundError、OSError Traceback (most recent call last)

一、最终方案

适配 Pandas 2.x / 3.x 所有版本,彻底解决跨设备报错

核心逻辑:将 HTML 字符串包装为 内存文件流,强制让 pandas 识别为文本而非文件路径,规避新版版本路径判定BUG

import io
import pandas as pd

# self_table 为 HTML 表格字符串(str)
df = pd.read_html(io.StringIO(self_table))[0]

二、问题现象

  • 本机环境:代码正常运行,无报错,可正常解析网页表格

  • 另一台设备环境:相同代码直接抛出 FileNotFoundError / OSError

  • 报错核心特征:pandas 将 HTML 标签字符串识别为本地文件路径,提示 No such file or directory: <html>...</html>

三、环境差异(根本诱因)

环境Pandas版本Lxml版本兼容行为
本机(正常)2.0.3(旧版)4.9.3宽松识别:带<标签的字符串 → 判定为HTML文本
其他设备(报错)3.0.3(新版)6.1.1严格识别:普通字符串优先判定为本地文件路径

在这里插入图片描述

报错截图

在这里插入图片描述

四、踩坑全过程复盘

  • 增加str包裹self_table,仍然报错
  • 增加str、且手动包裹完整 <html><body> 外壳,依旧报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值