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

一、最终方案

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

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

Plain 复制代码
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> 外壳,依旧报错
相关推荐
烂蜻蜓9 小时前
Pandas入门教程(十六):常用函数速查手册——读写、清洗、选择、排序、分组与统计
pandas
quantdash_cc21 小时前
个人开发者用 QuantDash 读取港股行情:00700.HK 的 Python 函数封装与校验实践
python·数据分析·pandas·量化交易·股票数据·quantdash
databook1 天前
Pandas 与 Polars:语法、性能和资源占用方面的对比
python·数据分析·pandas
桑年2 天前
四、Pandas数据处理
人工智能·python·线性代数·pandas·数据可视化·数据处理
第九序言T2 天前
Python 数据处理进阶(二十四)把脚本变成工具:argparse、logging 与定时任务
python·自动化·pandas
第九序言T2 天前
Python 数据处理进阶(二十二)用 Pandas 做一次完整的用户行为分析
开发语言·python·数据分析·pandas
第九序言T2 天前
Python 数据处理进阶(二十一)相关性与分组对比:数据里藏着什么关系
大数据·人工智能·python·数据分析·pandas
第九序言T3 天前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
quantdash_cc3 天前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
quantdash_cc4 天前
ETF 行情数据清洗实战:字段语义拆解、标的池整理与五个校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash