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

相关推荐
正经教主几秒前
【基础】Windows开发设置入门4:Windows、Python、Linux和Node.js包管理器的作用和区别(AI整理)
linux·windows·python·包管理器
Q_Q196328847517 分钟前
python的漫画网站管理系统
开发语言·spring boot·python·django·flask·node.js·php
搂……住28 分钟前
第一次做逆向
python
卡尔曼的BD SLAMer33 分钟前
计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测(完整源码和数据)
python·深度学习·算法·cnn·lstm
代码的乐趣1 小时前
支持selenium的chrome driver更新到136.0.7103.94
chrome·python·selenium
渴望技术的猿1 小时前
Windows 本地部署MinerU详细教程
java·windows·python·mineru
Aliano2172 小时前
TestNGException ClassCastException SAXParserFactoryImpl是Java自带的Xerces解析器——解决办法
java·开发语言·python
漫谈网络2 小时前
回调函数应用示例
开发语言·python·回调函数
亚林瓜子2 小时前
pyenv简单的Python版本管理器(macOS版)
开发语言·python·macos·pyenv
青钰未央2 小时前
14、Python时间表示:Unix时间戳、毫秒微秒精度与time模块实战
python·改行学it