在Jupyter Notebook中使用pd.read_html读取数据时遇‘未找到表格’错误
解决pd.read_html读取txt文件报“No tables found”的问题
pd.read_html() 是专门用来解析HTML页面里的表格的,你传的是纯文本(.txt)文件,它根本找不到任何HTML表格结构,所以才会报错。
正确的做法是用适合读取纯文本数据的函数:
- 这类古气候数据通常是固定宽度格式,用
pd.read_fwf()最合适,记得跳过开头的注释行(先确认注释行数):
import pandas as pd # 跳过前20行注释(实际行数可根据文件内容调整) data = pd.read_fwf('https://www.ncei.noaa.gov/pub/data/paleo/reconstructions/deboer2014/deboer2014.txt', skiprows=20)
- 如果数据是空格分隔的,也可以用
pd.read_csv(),指定分隔符为任意空白字符:
data = pd.read_csv('https://www.ncei.noaa.gov/pub/data/paleo/reconstructions/deboer2014/deboer2014.txt', skiprows=20, sep='\s+')
不确定注释行数的话,可以先获取文件前几行看看:
import requests resp = requests.get('https://www.ncei.noaa.gov/pub/data/paleo/reconstructions/deboer2014/deboer2014.txt') for line in resp.text.splitlines()[:30]: print(line)
内容的提问来源于stack exchange,提问作者yashus123
相关产品推荐
相关产品推荐

