合并文件.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import multiprocessing
  2. read_dir = r'/data/download/collection_data/1进行中/张崾先风电场-陕西-华电/收资数据/整改复核数据/2025年06月19日16时17分41秒'
  3. import os
  4. import pandas as pd
  5. # 获取文件夹下所有文件的路径
  6. file_paths = [os.path.join(read_dir, file) for file in os.listdir(read_dir) if
  7. os.path.isfile(os.path.join(read_dir, file))]
  8. def read_and_save(wind_no, files, save_dir):
  9. # 读取文件
  10. df = pd.concat([pd.read_csv(file) for file in files])
  11. # 保存文件
  12. df.to_csv(os.path.join(save_dir, f'{wind_no}.csv'), index=False, encoding='utf-8')
  13. if __name__ == '__main__':
  14. wind_dicts = dict()
  15. save_dir = r'/data/download/collection_data/1进行中/张崾先风电场-陕西-华电/收资数据/整改复核数据/合并202506191654'
  16. os.makedirs(save_dir, exist_ok=True)
  17. for file in os.listdir(read_dir):
  18. wind_no = file.split('(')[0]
  19. if wind_no not in wind_dicts:
  20. wind_dicts[wind_no] = [os.path.join(read_dir, file)]
  21. else:
  22. wind_dicts[wind_no].append(os.path.join(read_dir, file))
  23. with multiprocessing.Pool(20) as pool:
  24. pool.starmap(read_and_save, [(key, files, save_dir) for key, files in wind_dicts.items()])