自动化办公-将 Excel 的 Sheet 页拆分成单独的 Excel 文件

在日常的数据处理工作中,很多时候我们会遇到一个包含多个工作表(Sheet)的 Excel 文件,可能需要将每个工作表分别保存为独立的 Excel 文件。手动进行这种操作非常繁琐且易出错,但借助 Python 中的 pandas 库,我们可以非常方便地自动化这个过程。

在这篇博文中,我们将介绍如何使用 Python 将一个 Excel 文件中的每个工作表(Sheet)保存成单独的 Excel 文件。

1. 使用 pandas 库进行操作

除了 openpyxlpandas 库也可以用来处理 Excel 文件。pandas 提供了非常简便的读取和写入 Excel 文件的方法,特别适合需要处理大量数据的场景。

2.1 安装 pandasopenpyxl

pandas 需要依赖 openpyxl 来处理 .xlsx 格式的文件。如果没有安装,可以通过以下命令一起安装:

bash 复制代码
pip install pandas openpyxl

2.2 代码实现

使用 pandas 来实现将 Excel 文件中的每个工作表保存为单独的文件的代码如下:

python 复制代码
import pandas as pd

def split_excel_sheet(input_file):
    # 读取 Excel 文件中的所有工作表
    xls = pd.ExcelFile(input_file)

    # 遍历每个工作表
    for sheet_name in xls.sheet_names:
        # 读取每个工作表的数据
        df = pd.read_excel(xls, sheet_name)

        # 保存每个工作表为单独的 Excel 文件
        new_file = f"{sheet_name}.xlsx"
        df.to_excel(new_file, index=False)
        print(f"工作表 '{sheet_name}' 已保存为 {new_file}")

# 使用示例
input_file = '/path/to/example.xlsx'  # 需要分割的 Excel 文件
split_excel_sheet(input_file)

2.3 代码解析

  • 读取 Excel 文件 :通过 pd.ExcelFile(input_file) 读取整个 Excel 文件。
  • 遍历工作表 :通过 xls.sheet_names 获取文件中的所有工作表名称,并遍历每个工作表。
  • 读取工作表数据 :使用 pd.read_excel() 读取每个工作表的数据,并将其转换为 DataFrame 格式。
  • 保存为单独的 Excel 文件 :通过 df.to_excel() 将每个工作表的数据保存为单独的 Excel 文件,index=False 参数用于不保存行索引。

2.4 输出示例

openpyxl 实现类似,运行上面的代码后,程序会输出每个工作表被保存为单独 Excel 文件的消息。例如:

工作表 'Sheet1' 已保存为 Sheet1.xlsx

工作表 'Sheet2' 已保存为 Sheet2.xlsx

3. 总结

通过 Python 的 openpyxlpandas 库,我们可以轻松地将一个 Excel 文件中的每个工作表保存为单独的 Excel 文件。pandas:适用于数据分析和处理,操作简便,尤其在处理数据量较大的 Excel 文件时非常高效。

相关推荐
Gerlat小智44 分钟前
【Python精讲 16】实战项目演练(二):用Flask/FastAPI发布你的第一个Web API
python·flask·fastapi
fenghx2581 小时前
vscode使用arcpy-选择arcgis带的python+运行错误解决
vscode·python·arcgis
chaofan9801 小时前
如何用 Claude Code 搭建安全、可测、可自动化的 GitHub CI 流程?
运维·人工智能·ci/cd·ai·自动化·github·claude
王嘉俊9251 小时前
Flask 入门:轻量级 Python Web 框架的快速上手
开发语言·前端·后端·python·flask·入门
爱刘温柔的小猪1 小时前
Python 基于 MinIO 的文件上传服务与图像处理核心实践
python·minio
(●—●)橘子……2 小时前
记力扣2271.毯子覆盖的最多白色砖块数 练习理解
数据结构·笔记·python·学习·算法·leetcode
做运维的阿瑞2 小时前
Python 面向对象编程深度指南
开发语言·数据结构·后端·python
木木子99992 小时前
Python的typing模块:类型提示 (Type Hinting)
开发语言·windows·python
MediaTea2 小时前
Python 编辑器:PyCharm
开发语言·ide·python·pycharm·编辑器
慌糖2 小时前
自动化接口框架搭建分享-pytest第三部分
运维·自动化·pytest