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

Pandas读取指定Excel工作表返回字典而非DataFrame,如何解决?

解决AttributeError: 'dict' object has no attribute 'head'问题

问题原因

当你给pd.read_excel()的sheet_name参数传入列表(哪怕只有一个元素)时,函数会返回一个字典——键是工作表名称,值是对应工作表的DataFrame对象。你直接对这个字典调用head()方法(这是DataFrame的专属方法),就会触发该错误。

两种解决方法

  • 方法一:直接指定单个工作表(推荐,适合只读取一个表的场景)
    将sheet_name的参数从列表改为字符串:

    import pandas as pd
    import numpy as np
    
    df = pd.read_excel("VMS.xlsx", sheet_name='PS VMs', usecols=['Name'])
    
    df.head()
    
  • 方法二:从返回的字典中提取DataFrame(适合需要读取多个表的场景)
    如果后续可能需要读取多个工作表,保留列表参数,再从返回的字典中取出目标表对应的DataFrame:

    import pandas as pd
    import numpy as np
    
    # 返回值是字典,键为工作表名称
    df_dict = pd.read_excel("VMS.xlsx", sheet_name=['PS VMs'], usecols=['Name'])
    
    # 通过表名从字典中提取对应的DataFrame
    df = df_dict['PS VMs']
    
    df.head()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:09:52