使用pandas将一张excel表分别与一个文件夹内的所有EXCEL表合并,并将合并后的工作表保存在指定文件夹
时间: 2024-10-08 16:10:36 浏览: 31
python 将目录中所有excel合并到一个excel中 openpyxl 复制sheet工作表到另一个工作簿
在Python中,你可以使用Pandas库的`concat()`函数来合并Excel表格。下面是一个示例,它会遍历指定文件夹内的所有Excel文件,并将它们与一个源Excel文件逐一合并,最后将结果保存到另一个指定文件夹中:
```python
import os
import pandas as pd
def merge_excel_files(input_folder, source_file, output_folder):
# 源文件加载
source_df = pd.read_excel(os.path.join(input_folder, source_file))
# 确保output_folder存在,如果不存在则创建
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的所有Excel文件
for file_name in os.listdir(input_folder):
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 读取单个Excel文件
temp_df = pd.read_excel(os.path.join(input_folder, file_name), engine='openpyxl')
# 合并数据帧
merged_df = pd.concat([source_df, temp_df], ignore_index=True) # 或者用'outer', 'inner'等模式取决于需求
# 保存合并后的结果到新的Excel文件
merged_df.to_excel(os.path.join(output_folder, f"{file_name[:-5]}_merged.xlsx"), index=False)
# 示例用法
merge_excel_files('input_folder_path', 'source_file.xlsx', 'output_folder_path')
阅读全文