利用python Pandas实现批量拆分Excel与合并Excel

  • Post category:Python

下面就为大家详细讲解如何利用Python Pandas实现批量拆分Excel与合并Excel的完整实例教程。

一、准备工作

需要安装Pandas库和openpyxl库,可以使用pip进行安装:

pip install pandas openpyxl

二、批量拆分Excel

1. 代码实现

import pandas as pd

# 读取需要拆分的Excel文件
df = pd.read_excel('data.xlsx')

# 获取以"城市"列为分组依据的分组对象
grouped = df.groupby('城市')

# 遍历分组对象,按照分组名称对数据进行拆分,并生成对应的文件
for name, group in grouped:
    group.to_excel(f'{name}.xlsx', index=False)

2. 示例说明

假设我们有一个Excel文件data.xlsx,其中包含一些销售数据,如下所示:

城市 产品 价格
北京 A 100
北京 B 200
上海 A 150
上海 B 250

我们希望将数据按照城市进行拆分,形成多个Excel文件。

利用上述代码可以得到以下结果:

  • 北京.xlsx
城市 产品 价格
北京 A 100
北京 B 200
  • 上海.xlsx
城市 产品 价格
上海 A 150
上海 B 250

三、批量合并Excel

1. 代码实现

import os
import pandas as pd

# 文件夹路径
folder_path = 'data'

# 获取文件夹中所有Excel文件的路径
excel_paths = [os.path.join(folder_path, file_name) for file_name in os.listdir(folder_path) if file_name.endswith('.xlsx')]

# 所有数据拼接后的结果
result = pd.DataFrame()

# 遍历所有Excel文件,将数据逐个拼接到结果中
for excel_path in excel_paths:
    df = pd.read_excel(excel_path)
    result = result.append(df)

# 将拼接后的数据保存为Excel文件
result.to_excel('merged.xlsx', index=False)

2. 示例说明

假设我们有一个文件夹data,其中包含多个Excel文件,如北京.xlsx、上海.xlsx等,每个文件都包含相同结构的数据。

我们希望将这些Excel文件合并为一个文件。

利用上述代码可以得到以下结果:

  • merged.xlsx
城市 产品 价格
北京 A 100
北京 B 200
上海 A 150
上海 B 250

以上就是使用Python Pandas库实现批量拆分Excel与合并Excel的完整实例教程。希望能对大家有所帮助。