讲师中心 微信公众号
AI工具推荐 视频效率加速

如何从现有 Excel 工作簿中批量读取多个工作表并生成 DataFrame

风晨吖_2847

风晨吖_2847

发布时间:2026-07-22 12:47:07

|

970人浏览过

|

来源于php中文网

原创

如何从现有 Excel 工作簿中批量读取多个工作表并生成 DataFrame

本文介绍如何使用现代 pandas(≥1.2.0)和 openpyxl 引擎,安全、高效地从现有 excel 文件(.xlsx/.xls)中读取全部工作表为 dataframe,并支持后续合并保存——彻底替代已弃用的 xlwt 和旧式 excelfile 用法。

本文介绍如何使用现代 pandas(≥1.2.0)和 openpyxl 引擎,安全、高效地从现有 excel 文件(.xlsx/.xls)中读取全部工作表为 dataframe,并支持后续合并保存——彻底替代已弃用的 xlwt 和旧式 excelfile 用法。

自 pandas 1.2.0 起,xlwt 引擎已被正式弃用,且 pd.ExcelFile 在仅安装 openpyxl(而非 xlrd)时无法处理 .xls 文件,导致常见报错:ValueError: No engine for filetype: 'xls'。根本解决方案是统一使用 openpyxl(支持 .xlsx)或 xlrd==1.2.0(仅限 .xls,注意:xlrd ≥2.0 已移除 xls 支持),并避免依赖已淘汰的 ExcelFile 迭代模式。

✅ 推荐做法:直接使用 pd.read_excel() 的 sheet_name=None 参数,一行代码即可将整个工作簿所有表读为字典(键为表名,值为 DataFrame):

import pandas as pd

# 一次性读取所有工作表 → 返回 dict[str, pd.DataFrame]
all_sheets = pd.read_excel("Workbook1.xlsx", sheet_name=None, engine="openpyxl")
# 示例:获取第一个表数据(按原始顺序)
df_sheet1 = list(all_sheets.values())[0]
# 或按表名访问:
# df_sheet1 = all_sheets["Sheet1"]

⚠️ 注意事项:

Excel工具(专业版)
Excel工具(专业版)

Excel 全能力版:多表合并、透视表、图表、大数据处理、自动化流水线与数据库联动。

下载
  • .xlsx 文件默认使用 openpyxl 引擎(需 pip install openpyxl);
  • .xls 文件必须使用 xlrd==1.2.0(pip install "xlrd==1.2.0"),新版 xlrd 不再支持 xls;
  • sheet_name=None 是最简洁、最健壮的方式,无需手动遍历 sheet_names;
  • 避免生成中间 .xls 文件(如 df.to_excel("sheet1.xls")),既不必要又易触发引擎错误;所有操作应在内存中完成。

? 完整工作流示例(读取 → 处理 → 合并保存):

import pandas as pd
import time

# 1. 读取全部工作表(返回字典)
workbook_data = pd.read_excel("Workbook1.xlsx", sheet_name=None, engine="openpyxl")

# 2. 对每个 DataFrame 进行个性化处理(示例:添加来源列)
processed_dfs = {}
for sheet_name, df in workbook_data.items():
    df_processed = df.copy()
    df_processed["source_sheet"] = sheet_name  # 标记来源
    # ✅ 此处插入您的业务逻辑(清洗、计算、过滤等)
    processed_dfs[sheet_name] = df_processed

# 3. 合并写入新工作簿(自动按原表名分页)
output_file = f"New_Workbook_{time.strftime('%m-%d-%Y')}.xlsx"
with pd.ExcelWriter(output_file, engine="openpyxl") as writer:
    for sheet_name, df in processed_dfs.items():
        df.to_excel(writer, sheet_name=sheet_name, index=False)

print(f"✅ 已成功生成:{output_file}")

? 总结:

  • 永远优先使用 sheet_name=None 替代 ExcelFile + 循环 read_excel;
  • 明确指定 engine 参数("openpyxl" 或 "xlrd")可提升兼容性与可维护性;
  • 中间文件(如 .xls)不仅冗余,还可能因引擎缺失导致失败——内存操作更可靠、更高效。
    遵循以上实践,即可无缝迁移旧脚本,适配当前 pandas 生态。

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

280

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

212

2026.01.31

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

271

2026.04.13

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

20

2026.09.21

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

0

2026.09.21

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

0

2026.09.21

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

0

2026.09.21

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

0

2026.09.21

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

40

2026.09.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 43.1万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn