import pandas as pd
import os
def merge_excel_files(input_folder, output_folder, output_file):
try:
# 获取输入文件夹中的所有Excel文件
excel_files = [file for file in os.listdir(input_folder) if file.endswith('.xlsx') and not file.startswith('~$')]
# 创建一个空的DataFrame来存储所有数据
combined_data = pd.DataFrame()
# 循环读取每个Excel文件并将其合并到combined_data中
for file in excel_files:
file_path = os.path.join(input_folder, file)
try:
# 读取Excel文件
data = pd.read_excel(file_path)
# 将数据合并到combined_data中
combined_data = pd.concat([combined_data, data], ignore_index=True)
except Exception as e:
print(f"处理文件 {file} 时出现错误:{e}")
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 将合并后的数据写入到输出Excel文件
output_path = os.path.join(output_folder, output_file)
combined_data.to_excel(output_path, index=False)
print("合并完成,结果保存在", output_path)
except Exception as e:
print("出现错误:", e)
if __name__ == "__main__":
# 提示用户输入文件夹路径、输出文件夹路径和合并后的文件名称
input_folder = input("请输入包含Excel文件的文件夹路径:")
output_folder = input("请输入结果输出的文件夹路径:")
output_file = input("请输入合并后的文件名:")
# 调用函数将多个Excel文件合并到一个Excel文件
merge_excel_files(input_folder, output_folder, output_file)
input("按Enter键退出")