from os import * import pandas as pd read_path = r'D:\data\白玉山后评估数据资料\需要整理的数据\每月发电量和限电量、限电率' all_paths = list() for root, dirs, files in walk(read_path): if files: for file in files: year_mont = int(file.split("(")[1].split("_")[0]) if year_mont >= 20230901 and year_mont < 20240901: all_paths.append(path.join(root, file)) df = pd.DataFrame() for path in all_paths: now_df = pd.read_excel(path, usecols=['设备名称', '统计时间', '限电损失电量(kWh)'], header=2) now_df = now_df[now_df['设备名称'].str.startswith("#")] df = pd.concat([df, now_df]) ## 人工验证 看一看 print(df[df['设备名称'] == '#34']) df = df[['设备名称', '限电损失电量(kWh)']] group_df = df.groupby('设备名称').sum() result_df = pd.DataFrame(group_df) result_df.reset_index(inplace=True) result_df.columns = ['设备名称', '总限电损失电量(kWh)'] result_df.sort_values(by=['设备名称'], inplace=True) print(result_df) result_df.to_csv("设备总限电损失.csv", encoding='utf-8', index=False)