下面就为大家详细讲解如何利用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的完整实例教程。希望能对大家有所帮助。