批量读取一个文件夹下的多个excel文件 然后将报表中的某一项合并成一个文件
时间: 2024-03-13 18:44:10 浏览: 103
java 将一个二维数组存到txt文件里,然后再读取
5星 · 资源好评率100%
好的,您可以先使用上面提供的代码批量读取文件夹下的多个Excel文件,并将它们合并为一个DataFrame。然后,您可以使用pandas库的groupby()方法将DataFrame按照某一列进行分组,然后使用to_excel()方法将每个分组的数据导出为一个Excel文件。
以下是一个示例代码:
```python
import os
import pandas as pd
# 设置文件夹路径
folder_path = r"C:\Excel_Files"
# 获取文件夹中所有的文件名
file_names = os.listdir(folder_path)
# 创建一个空的DataFrame
df_combined = pd.DataFrame()
# 遍历文件夹中的所有文件
for file_name in file_names:
# 只读取Excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 拼接文件路径
file_path = os.path.join(folder_path, file_name)
# 读取Excel文件
df = pd.read_excel(file_path)
# 将读取的数据添加到空的DataFrame中
df_combined = pd.concat([df_combined, df], ignore_index=True)
# 按照某一列进行分组
grouped = df_combined.groupby('某一列名称')
# 遍历每个分组,将数据导出为Excel文件
for group_name, group_data in grouped:
# 拼接导出文件的路径
output_file_path = os.path.join(folder_path, f'{group_name}.xlsx')
# 导出分组数据为Excel文件
group_data.to_excel(output_file_path, index=False)
```
在上述代码中,我们首先使用和之前相同的方法批量读取了Excel文件,并将它们合并为一个DataFrame。然后,我们使用groupby()方法按照某一列进行分组,将每个分组的数据导出为一个Excel文件。请将上述代码中的“某一列名称”替换为您需要根据哪一列进行分组的列名,并将“output_file_path”替换为您需要导出文件的路径。
注意:在使用上述代码之前,您需要确保已经安装了pandas库。
阅读全文