小能豆

Excel 文件分割

python

一个 Excel 文件中有 10 个 Sheet,每个 Sheet 的数据包含全部 25 个区域。

我需要拆分数据,例如 1 个文件(所有 10 张表格),所有表格中仅包含一个区域。

并且需要所有 25 个区域文件。

是否可以在 Excel 中自动化而不是手动活动。

需要按区域自动拆分工作表。


阅读 200

收藏
2024-02-23

共1个答案

小能豆

您可以使用Python中的pandas库来自动化处理Excel文件,并按区域拆分工作表。以下是一个示例代码,演示了如何实现这一目标:

import pandas as pd

# 读取Excel文件
excel_file = "your_excel_file.xlsx"
excel_data = pd.read_excel(excel_file, sheet_name=None)

# 遍历每个工作表
for sheet_name, sheet_data in excel_data.items():
    # 获取工作表中的所有列名
    columns = sheet_data.columns
    # 遍历每个区域
    for region in range(1, 26):
        # 创建新的Excel文件名
        new_file_name = f"{sheet_name}_Region{region}.xlsx"
        # 创建新的工作表
        new_sheet_data = sheet_data[columns[region - 1]]
        # 写入数据到新的Excel文件中
        new_sheet_data.to_excel(new_file_name, index=False)

# 如果需要将所有区域合并到一个文件中,可以添加以下代码
# combined_file = "combined_regions.xlsx"
# with pd.ExcelWriter(combined_file) as writer:
#     for sheet_name, sheet_data in excel_data.items():
#         columns = sheet_data.columns
#         for region in range(1, 26):
#             new_sheet_data = sheet_data[columns[region - 1]]
#             new_sheet_data.to_excel(writer, sheet_name=f"{sheet_name}_Region{region}", index=False)

在这个示例代码中,我们首先使用pd.read_excel()函数读取Excel文件,并将所有工作表存储在一个字典中。然后,我们遍历每个工作表,以及每个工作表中的每个区域。对于每个区域,我们创建一个新的Excel文件,并将该区域的数据写入到新文件中。如果您想要将所有区域合并到一个文件中,可以取消注释最后的代码段。

请确保将your_excel_file.xlsx替换为您实际的Excel文件路径。此外,您需要安装pandas库,您可以使用以下命令进行安装:

pip install pandas

这段代码将会自动化Excel文件的拆分过程,而无需手动进行操作。

2024-02-23