Python openpyxl sheet拆分

介绍

在使用Python进行Excel处理时,openpyxl是一个非常常用的库。它提供了许多方便的功能,特别是在处理Excel文件的不同表单(sheet)时非常有用。本文将介绍如何使用openpyxl库来拆分一个Excel文件的不同表单,并提供了相应的代码示例。

安装openpyxl库

首先,我们需要安装openpyxl库。使用以下命令可以通过pip安装openpyxl:

pip install openpyxl

导入库

在开始之前,我们需要导入openpyxl库并引入相关的模块:

import openpyxl
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows

打开Excel文件

在拆分Excel文件之前,我们需要先打开一个Excel文件。使用openpyxl的load_workbook()方法可以打开一个已存在的Excel文件:

workbook = openpyxl.load_workbook('example.xlsx')

可以通过文件路径将Excel文件加载到workbook对象中。请注意,你需要将example.xlsx替换为你实际使用的Excel文件的路径。

获取所有的表单

一旦我们打开了Excel文件,我们可以使用workbook.sheetnames属性获取所有的表单名称:

sheet_names = workbook.sheetnames

这将返回一个包含所有表单名称的列表。

拆分表单

一旦我们获取了所有的表单名称,我们可以遍历这个列表,并将每个表单保存到一个独立的Excel文件中。下面是一个示例代码:

for sheet_name in sheet_names:
    # 创建一个新的工作簿
    new_workbook = Workbook()
    # 选择当前表单
    sheet = workbook[sheet_name]
    # 将当前表单的数据复制到新的工作簿中
    new_sheet = new_workbook.active
    for row in sheet.iter_rows(values_only=True):
        new_sheet.append(row)
    # 保存新的工作簿
    new_workbook.save(f'{sheet_name}.xlsx')

在上述代码中,我们首先使用Workbook()创建一个新的工作簿,然后选择当前的表单,并使用iter_rows()方法迭代表单中的每一行数据。最后,我们将每一行数据添加到新工作簿的表单中,并使用save()方法将新工作簿保存为一个独立的Excel文件。

完整示例代码

下面是一个完整的示例代码,演示如何使用openpyxl拆分Excel文件的不同表单:

import openpyxl
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取所有的表单名称
sheet_names = workbook.sheetnames

# 拆分表单
for sheet_name in sheet_names:
    # 创建一个新的工作簿
    new_workbook = Workbook()
    # 选择当前表单
    sheet = workbook[sheet_name]
    # 将当前表单的数据复制到新的工作簿中
    new_sheet = new_workbook.active
    for row in sheet.iter_rows(values_only=True):
        new_sheet.append(row)
    # 保存新的工作簿
    new_workbook.save(f'{sheet_name}.xlsx')

请注意,你需要将example.xlsx替换为你实际使用的Excel文件的路径。

总结

通过使用openpyxl库,我们可以方便地处理Excel文件的不同表单。在本文中,我们介绍了如何使用openpyxl打开Excel文件、获取表单名称以及拆分表单到独立的Excel文件中的方法,并提供了相应的代码示例。希望本文能帮助你更好地理解和使用openpyxl库。