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

使用pandas读取Excel报错:dict无head属性、values.tolist异常

问题分析与解决方法

报错原因

当你用pd.read_excel(download_path, sheet_name=None)读取Excel时,返回的不是单个DataFrame,而是一个字典——键是工作表的名称,值是对应工作表的DataFrame对象。所以你直接对这个字典调用head()或者values.tolist()肯定会报错,因为字典本身没有这些方法。

另外你遇到的'builtin_function_or_method' object has no attribute 'tolist'错误,大概率是不小心把df.values(属性)写成了df.values()(方法调用),不过核心问题还是误将字典当成DataFrame操作。

解决方法

1. 只读取单个工作表

如果你只需要处理Excel里的某一个工作表,直接指定sheet_name为工作表名称或者索引(比如sheet_name=0代表第一个工作表),这样得到的就是单个DataFrame,就能正常使用head()和values.tolist()了:

df = pd.read_excel(download_path, sheet_name=0)  # 读取第一个工作表
print(df.head())
l = df.values.tolist()

2. 处理所有工作表

如果要处理Excel里的所有工作表,需要遍历返回的字典:

df_dict = pd.read_excel(download_path, sheet_name=None)
# 遍历每个工作表
for sheet_name, df in df_dict.items():
    print(f"工作表 {sheet_name} 的前5行:")
    print(df.head())
    # 把当前工作表转成列表
    sheet_data_list = df.values.tolist()
    # 这里写你的后续处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:31:11