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

相关推荐
紫金修道5 小时前
【DeepAgent】概述
开发语言·数据库·python
书到用时方恨少!5 小时前
Python multiprocessing 使用指南:突破 GIL 束缚的并行计算利器
开发语言·python·并行·多进程
Warson_L6 小时前
Python 常用内置标准库
python
Warson_L6 小时前
Python 函数的艺术 (Functions)
python
Warson_L6 小时前
Python 流程控制与逻辑
后端·python
long_songs6 小时前
手柄键盘映射器【github链接见文末 】
python·游戏·计算机外设·pygame·软件推荐·手柄映射键盘
必然秃头6 小时前
Python 环境安装及项目构建指南
python
Warson_L6 小时前
Python 四大组合数据类型 (Collection Types)
后端·python
廋到被风吹走6 小时前
【AI】Codex 多语言实测:Python/Java/JS/SQL 效果横评
java·人工智能·python
Warson_L6 小时前
Python 数据类型核心笔记
python