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

帮对象处理所需数据时写的代码——第五弹(实现功能: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 文件的进度。

import pandas as pd
import glob
from tqdm import tqdm

folder_path = r'C:\Users\dell\Desktop\TRY'
all_csv_files = glob.glob(folder_path + '/**/*.csv', recursive=True)

merged_data = pd.DataFrame()
total_files = len(all_csv_files)
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则会捕获异常并打印错误消息。进度条会针对处理的每个文件进行更新,最后在所有文件合并后关闭。

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

progress_bar.close()

第三节:保存合并数据

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

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

第四节:代码总结

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

第五节:代码运行实例

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

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

完整程序:

import pandas as pd
import glob
from tqdm import tqdm



# 指定要合并的 CSV 文件所在的文件夹路径
folder_path = r'C:\Users\dell\Desktop\TRY'
# 获取所有子文件夹中的 CSV 文件路径
all_csv_files = glob.glob(folder_path + '/**/*.csv', recursive=True)



# 创建一个空的 DataFrame 用于存储合并后的数据
merged_data = pd.DataFrame()
# 获取文件总数
total_files = len(all_csv_files)
# 创建进度条
progress_bar = tqdm(total=total_files, unit='file', desc='Merging CSV files')
# 逐个读取并合并 CSV 文件
for file in all_csv_files:
    try:
        df = pd.read_csv(file)  # 读取 CSV 文件
        merged_data = pd.concat([merged_data, df], ignore_index=True)  # 合并数据
    except pd.errors.ParserError as e:
        print(f"解析文件 {file} 时出错:{e}")
    # 更新进度条
    progress_bar.update(1)
# 关闭进度条
progress_bar.close()


# 指定要保存合并后数据的输出文件路径
output_file = r'C:\Users\dell\Desktop\TRY\综合文件.csv'
# 保存合并后的数据到新的 CSV 文件
merged_data.to_csv(output_file, index=False)
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打开界面如下:

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

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~玲儿响叮当~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值