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

Pandas DataFrame对象中是否保存了读取时对应的Excel工作表名称?

关于Pandas DataFrame是否存储读取来源Excel工作表名的解答

默认情况下,Pandas的DataFrame对象没有内置的官方属性存储读取时对应的Excel工作表名称,read_excel方法默认不会将工作表名称这类数据源元信息写入生成的DataFrame中。

你可以通过以下两种常用方案实现需求:

  • 手动存储工作表名到DataFrame的元数据属性
    推荐使用Pandas 1.0版本后新增的attrs属性存储自定义元数据,该属性会在绝大多数DataFrame操作中被保留,比直接给对象挂载自定义属性更稳妥:
import pandas as pd

target_sheet = "销售数据"
df = pd.read_excel("业务报表.xlsx", sheet_name=target_sheet)
# 写入工作表名到元数据
df.attrs["sheet_name"] = target_sheet

# 后续需要获取时直接调用即可
print(df.attrs["sheet_name"])
  • 批量读取时直接从返回结果获取工作表名
    如果你一次性读取Excel文件的多个工作表,给read_excel的sheet_name参数传None时,会返回「工作表名为键、对应DataFrame为值」的字典,你可以遍历字典同时获取表名和数据:
# 读取文件内所有工作表
df_dict = pd.read_excel("业务报表.xlsx", sheet_name=None)

for sheet_name, df in df_dict.items():
    print(f"当前处理的工作表为:{sheet_name}")
    # 也可以批量将表名存入对应DataFrame的元数据中
    df.attrs["sheet_name"] = sheet_name

注:DataFrame是通用的二维表格数据结构,设计之初没有绑定Excel场景的专属属性,因此不会默认存储读取来源的工作表信息,所有和业务、数据源相关的自定义元数据都需要用户主动存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:24:03