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

Python如何读取Excel多工作表并分别生成pandas DataFrame

多工作表Excel拆分读取为独立Pandas DataFrame解决方案

完全可以实现,Pandas原生支持多工作表Excel文件的读取操作,以下是两种最常用的实现方案:

前置依赖安装

首先确保安装了pandas和对应的Excel解析引擎,执行如下命令安装:
pip install pandas openpyxl xlrd

  • openpyxl用于解析.xlsx格式文件
  • xlrd用于解析旧版.xls格式文件

方案1:一次性读取所有工作表为字典结构

这是最简便的方案,读取后返回值为字典类型,键为工作表名称,值为对应工作表的DataFrame:

import pandas as pd

# sheet_name设为None代表读取所有工作表
df_dict = pd.read_excel("你的Excel文件路径.xlsx", sheet_name=None, engine="openpyxl")

# 按工作表名获取对应DataFrame
df_sheet1 = df_dict["Sheet1"]
df_sheet2 = df_dict["Sheet2"]

方案2:按需读取/循环处理工作表

如果需要对单个工作表做自定义读取配置(比如跳过表头、指定读取列等),可以先获取所有工作表名后逐个读取:

import pandas as pd

# 打开Excel文件
xl_file = pd.ExcelFile("你的Excel文件路径.xlsx", engine="openpyxl")

# 获取所有工作表名称列表
sheet_names = xl_file.sheet_names

# 循环读取每个工作表,可自定义读取参数
df_dict = {}
for sheet_name in sheet_names:
    # 可在parse中添加skiprows、usecols、dtype等自定义参数
    df_dict[sheet_name] = xl_file.parse(sheet_name, skiprows=1, usecols="A:E")

注意事项

  • 2.0及以上版本的xlrd库默认不再支持.xlsx格式解析,读取.xlsx文件时建议指定engine="openpyxl"
  • 大文件读取优先使用pd.ExcelFile方式,只需打开一次文件,比循环调用pd.read_excel效率更高
  • 若需要将每个工作表的DataFrame设为独立全局变量,可以使用globals()[f"df_{sheet_name}"] = xl_file.parse(sheet_name)实现,不过更推荐使用字典统一管理,便于后续遍历操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:06:03