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

使用read_html读取.xls文件得到列表而非DataFrame的问题

问题原因与解决方法

这不是编码参数的问题,是pd.read_html()的返回特性导致的:

  • pd.read_html()读取HTML文件后,会返回一个DataFrame对象的列表(因为HTML页面里可能包含多个表格),而你直接对这个列表调用df.head(),自然会触发AttributeError——列表本身没有head()方法。

解决步骤

  1. 先查看返回的列表里包含多少个表格:
print(len(df))
  1. 提取列表中的具体DataFrame(比如取第一个表格),再调用head()方法:
# 提取第一个表格
target_df = df[0]
print(target_df.head())
  1. 如果不确定哪个表格是你需要的,可以遍历列表逐个查看内容:
for table in df:
    print("--- 表格分割线 ---")
    print(table.head())
  1. 进阶定位:如果HTML里有多个表格,还可以通过pd.read_html()的参数精准锁定目标表格:
    • 用match参数匹配表格内的关键字:
    df = pd.read_html('/Users/KLG/regionlist1.xls', match="区域列表")
    
    • 用header参数指定表头所在的行:
    df = pd.read_html('/Users/KLG/regionlist1.xls', header=0)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 06:36:18