自动化办公-将 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 文件时非常高效。

相关推荐
m0_7489203615 分钟前
Golang goquery怎么解析HTML_Golang goquery教程【核心】
jvm·数据库·python
m0_7467523016 分钟前
golang如何编写Markdown转HTML工具_golang Markdown转HTML工具编写详解
jvm·数据库·python
Bug 挖掘机23 分钟前
一篇理清Prompt,Skill,MCP之间的区别
开发语言·软件测试·python·功能测试·测试开发·prompt·ai测试
weixin_4249993623 分钟前
C#怎么使用TopLevel顶级语句 C#顶级语句怎么写如何省略Main方法简化控制台程序【语法】
jvm·数据库·python
L-影38 分钟前
FastAPI全解析(下):除了快,它还能干多少脏活累活?
python·fastapi
qq_3721542339 分钟前
如何利用Bootstrap的Flex工具类快速排版
jvm·数据库·python
qq_6543669840 分钟前
golang如何实现菜单权限动态加载_golang菜单权限动态加载实现详解
jvm·数据库·python
Rick19931 小时前
Spring AI 如何进行权限控制
人工智能·python·spring
码界筑梦坊1 小时前
302-基于Python的安卓应用市场数据可视化分析推荐系统
开发语言·python·信息可视化·毕业设计·fastapi
齐鲁大虾1 小时前
新人编程语言选择指南
javascript·c++·python·c#