本文将介绍如何使用 Python 3.8 版本的 Openpyxl 库来拆分 Excel 表格。代码将先获取所有工作表,然后对每个工作表进行拆分,将其中的数据按指定行数拆分成多个小表格,并将这些小表格保存为新的工作表。

以下是示例代码:

import openpyxl

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

# 获取所有工作表
sheets = workbook.sheetnames

# 遍历每个工作表
for sheet_name in sheets:
    sheet = workbook[sheet_name]
    row_count = sheet.max_row  # 获取行数
    col_count = sheet.max_column  # 获取列数
    chunk_size = 100  # 指定每个小表格的行数

    # 按指定行数拆分表格
    for i in range(1, row_count, chunk_size):
        # 新建小表格
        new_sheet_name = f'{sheet_name}_{i}-{i+chunk_size-1}'
        new_sheet = workbook.create_sheet(title=new_sheet_name)

        # 复制表头
        for j in range(1, col_count+1):
            new_sheet.cell(row=1, column=j, value=sheet.cell(row=1, column=j).value)

        # 复制数据
        for j in range(i, min(i+chunk_size, row_count)+1):
            for k in range(1, col_count+1):
                new_sheet.cell(row=j-i+2, column=k, value=sheet.cell(row=j, column=k).value)

    # 删除原工作表
    workbook.remove(sheet)

# 保存 Excel 文件
workbook.save('example_split.xlsx')

此代码将原 Excel 文件中的每个工作表按指定行数拆分成多个小表格,并将这些小表格保存为新的工作表,保存的文件名为example_split.xlsx。其中,指定的每个小表格的行数为 100,可以根据需要进行修改。

操作步骤:

  1. 安装 Openpyxl 库:pip install openpyxl
  2. 将代码中的 example.xlsx 替换为你的 Excel 文件名
  3. 运行代码
  4. 代码运行完成后,将在当前目录下生成名为 example_split.xlsx 的新 Excel 文件

注意:

  • 代码中的 chunk_size 代表每个小表格的行数,可以根据需要进行修改
  • 代码会删除原工作表,如果需要保留原工作表,请将 workbook.remove(sheet) 注释掉
  • 此代码适用于单个工作表,如果有多个工作表,则需要循环遍历每个工作表,并分别进行拆分
Python Openpyxl 拆分 Excel 表格:将工作表按指定行数分割

原文地址: https://www.cveoy.top/t/topic/fXcD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录