import os
import pandas as pd
def Merge_excel(folder_path, output_file ,year_time):
# 获取文件夹中所有Excel文件的路径
excel_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx') or f.endswith('.xls')]
# 初始化一个空的DataFrame,用于存储合并后的数据
merged_df = pd.DataFrame()
# 遍历所有Excel文件,逐个加载并合并
for file in excel_files:
df = pd.read_excel(file, engine='openpyxl')
filename = os.path.splitext(file)[0]
if filename[-10:] == f"{year_time}-12-31": # 判断指定年份,并确定是年末年度报告
# 如果这是第一个文件,直接将其赋值给merged_df
if merged_df.empty:
merged_df = df.copy()
else:
# 否则,使用concat方法按照列名合并数据
# 假设所有文件都有相同的列名,并且你想要保留所有的列
merged_df = pd.concat([merged_df, df], axis=0, ignore_index=True)
# 将合并后的DataFrame保存到新的Excel文件
merged_df.to_excel(output_file, index=False, engine='openpyxl')
print(f"合并后文件夹被保存为{output_file}")
for time in range(2001,2002):
# 指定包含Excel文件的文件夹路径
folder_path = 'C:/Users/86189/Desktop/管理层讨论与分析_词汇'
# 指定输出文件的名称和路径
output_file = f'C:/Users/86189/Desktop/管理层讨论与分析_词汇汇总/{time}/{time}_merge.xlsx'
# 调用函数进行合并
Merge_excel(folder_path, output_file,time)
08-20
1241
07-25
07-25