当前位置:   article > 正文

Python实现合并不同文件夹内的多个csv文件及命令端快速合并单个文件夹的csv文件(根据实际情况自取两种方法之一即可) 并介绍一种查看器EmEditor辅助大型csv文件的查看编辑_python 将文件夹中不同文件夹里的文件放一起

python 将文件夹中不同文件夹里的文件放一起

帮对象处理所需数据时写的代码——第五弹(实现功能:Python实现合并不同文件夹内的多个csv文件;命令端快速合并单个文件夹的csv文件;最后介绍一款好用的文本编辑器EmEditor)

目录

方法一:Python实现合并不同文件夹内的多个csv文件

第一节:导入库并设置变量

第二节:合并 CSV 文件

第三节:保存合并数据

第四节:代码总结

第五节:代码运行实例

完整程序:

方法二:命令端快速合并单个文件夹的csv文件

第一步:准备工作

第二步:打开命令提示符或终端应用程序

第三步:切换到D磁盘

第四步:输入合并指令,完成合并csv文件的目的

 补充:文本编辑器EmEditor


方法一:Python实现合并不同文件夹内的多个csv文件

第一节:导入库并设置变量

在本节中,导入必要的库(pandas、glob和)。tqdm该folder_path变量指定 CSV 文件所在的文件夹路径。该all_csv_files变量用于glob.glob()检索指定文件夹及其子文件夹内的所有 CSV 文件路径。merged_data创建一个名为 的空 DataFrame来存储合并的数据。该total_files变量计算找到的 CSV 文件的总数。最后,使用库初始化进度条tqdm来跟踪合并 CSV 文件的进度。

  1. import pandas as pd
  2. import glob
  3. from tqdm import tqdm
  4. folder_path = r'C:\Users\dell\Desktop\TRY'
  5. all_csv_files = glob.glob(folder_path + '/**/*.csv', recursive=True)
  6. merged_data = pd.DataFrame()
  7. total_files = len(all_csv_files)
  8. progress_bar = tqdm(total=total_files, unit='file', desc='Merging CSV files')
'
运行

第二节:合并 CSV 文件

此部分迭代列表中的每个 CSV 文件all_csv_files。该pd.read_csv()函数用于将每个 CSV 文件读取到名为 的 DataFrame 中df。该pd.concat()函数用于连接dfDataFrame merged_dataDataFrame,将它们合并在一起。该ignore_index=True参数确保合并后的 DataFrame 具有新的连续索引。如果读取文件时出现解析错误,pd.errors.ParserError则会捕获异常并打印错误消息。进度条会针对处理的每个文件进行更新,最后在所有文件合并后关闭。

  1. for file in all_csv_files:
  2. try:
  3. df = pd.read_csv(file)
  4. merged_data = pd.concat([merged_data, df], ignore_index=True)
  5. except pd.errors.ParserError as e:
  6. print(f"解析文件 {file} 时出错:{e}")
  7. progress_bar.update(1)
  8. progress_bar.close()

第三节:保存合并数据

在本节中,该output_file变量指定保存合并数据的文件路径。然后使用该方法将DataFramemerged_data保存到新的 CSV 文件中to_csv(),并index=False排除输出文件中的索引列。最后,打印一条成功消息。

  1. output_file = r'C:\Users\dell\Desktop\TRY\综合文件.csv'
  2. merged_data.to_csv(output_file, index=False)
  3. print("CSV files merged successfully!")

第四节:代码总结

此代码从指定文件夹及其子文件夹中读取多个 CSV 文件,将它们合并到单个 DataFrame 中,并将合并的数据保存到新的 CSV 文件中,还处理了合并过程中潜在的解析错误。

第五节:代码运行实例

例如要合并该文件下的所有csv文件,如图所示:

运行代码后总的csv文件将保存在该文件夹下: 

完整程序:

  1. import pandas as pd
  2. import glob
  3. from tqdm import tqdm
  4. # 指定要合并的 CSV 文件所在的文件夹路径
  5. folder_path = r'C:\Users\dell\Desktop\TRY'
  6. # 获取所有子文件夹中的 CSV 文件路径
  7. all_csv_files = glob.glob(folder_path + '/**/*.csv', recursive=True)
  8. # 创建一个空的 DataFrame 用于存储合并后的数据
  9. merged_data = pd.DataFrame()
  10. # 获取文件总数
  11. total_files = len(all_csv_files)
  12. # 创建进度条
  13. progress_bar = tqdm(total=total_files, unit='file', desc='Merging CSV files')
  14. # 逐个读取并合并 CSV 文件
  15. for file in all_csv_files:
  16. try:
  17. df = pd.read_csv(file) # 读取 CSV 文件
  18. merged_data = pd.concat([merged_data, df], ignore_index=True) # 合并数据
  19. except pd.errors.ParserError as e:
  20. print(f"解析文件 {file} 时出错:{e}")
  21. # 更新进度条
  22. progress_bar.update(1)
  23. # 关闭进度条
  24. progress_bar.close()
  25. # 指定要保存合并后数据的输出文件路径
  26. output_file = r'C:\Users\dell\Desktop\TRY\综合文件.csv'
  27. # 保存合并后的数据到新的 CSV 文件
  28. merged_data.to_csv(output_file, index=False)
  29. print("CSV files merged successfully!")
'
运行

方法二:命令端快速合并单个文件夹的csv文件

当遇到单个文件夹的csv文件合并时,可以直接使用电脑的命令端指令合成,更加便捷

第一步:准备工作

将所要合并的csv文件放在D盘中(注意直接放在D盘的第一路径下,不要新建文件夹),如下图所示的1.2.3文件:

第二步:打开命令提示符或终端应用程序

按下 Win + R 键,然后在运行对话框中输入 "cmd",按下 Enter 键,进入终端

第三步:切换到D磁盘

输入D:  切换到D盘

第四步:输入合并指令,完成合并csv文件的目的

输入copy *.CSV all.csv,D盘中的all.csv就是合并完成的文件

 补充:文本编辑器EmEditor

 下载地址:https://zh-cn.emeditor.com/download/

如果无法打开网站,可以连接vpn尝试下载,该编辑器可以秒开G级别的csv文件

 EmEditor打开界面如下:

如有不足,欢迎留言指正交流哈!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/940745
推荐阅读
相关标签
  

闽ICP备14008679号