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

相关推荐
烛阴3 小时前
简单入门Python装饰器
前端·python
好开心啊没烦恼4 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
面朝大海,春不暖,花不开4 小时前
使用 Python 实现 ETL 流程:从文本文件提取到数据处理的全面指南
python·etl·原型模式
2301_805054565 小时前
Python训练营打卡Day59(2025.7.3)
开发语言·python
万千思绪6 小时前
【PyCharm 2025.1.2配置debug】
ide·python·pycharm
微风粼粼7 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
云天徽上7 小时前
【PaddleOCR】OCR表格识别数据集介绍,包含PubTabNet、好未来表格识别、WTW中文场景表格等数据,持续更新中......
python·ocr·文字识别·表格识别·paddleocr·pp-ocrv5
你怎么知道我是队长8 小时前
python-input内置函数
开发语言·python
XMAIPC_Robot8 小时前
基于ARM+FPGA的光栅尺精密位移加速度测试解决方案
arm开发·人工智能·fpga开发·自动化·边缘计算
叹一曲当时只道是寻常8 小时前
Python实现优雅的目录结构打印工具
python