Python进行批量合并处理操作需要使用到os模块。 os模块是Python标准库中的一个用于访问操作系统相关功能的模块。os模块的主要功能:系统相关、目录及文件操作、执行命令和管理进程。 我们使用 跟小白学Python数据分析——记录合并 中的三个CSV文件作为批量合并案例。 大家注意,需要合并的文件要求字段数据结构都是一样的,否则合并会有问题的。

长按识别下方二维码,并关注公众号 回复“DR”获取案例数据

先导入需要使用的模块

1import pandas as pd  
2import os 

然后定义下需要使用到的路径变量

1Folder_Path='D:/3'    #要拼接的文件夹及其完整路径,注意不要
包含中文  
2SaveFile_Path='D:/3'  #拼接后要保存的文件路径  
3SaveFile_Name='all.csv'    #合并后要保存的文件名

然后将当前工作目录修改为需要合并文件所以在的路径

1os.chdir(Folder_Path)

接下来将该文件夹下的所有文件名存入一个列表

1file_list = os.listdir()

接下来先处理第一个CSV文件,第一个文件是需要表头的,后面的文件不需要再将表头插入,所以第一个文件需要单独处理。

1#读取第一个CSV文件并包含表头  
2df = pd.read_csv(Folder_Path +'/'+ file_list[0],
3                 encoding="utf8"
4                 )  #编码默认UTF-8,若乱码自行更改
5
6#将读取的第一个CSV文件写入合并后的文件保存  
7df.to_csv(SaveFile_Path+'/'+ SaveFile_Name,
8          encoding="utf8",
9          index=False) 

接下来用For循环处理剩下的CSV文件。

1#循环遍历列表中各个CSV文件名,并追加到合并后的文件  
 2FileStart = 1
 3FileEnd = len(file_list)
 4for i in range(FileStart,FileEnd):  
 5    df = pd.read_csv(Folder_Path + '/'+ file_list[i],encoding="utf8")  
 6    df.to_csv(SaveFile_Path+'/'+ SaveFile_Name,
 7              encoding="utf8",
 8              index=False, 
 9              header=False, 
10              mode='a') #mode='a'表示追加写入的意思

批量合并CSV文件学会了,那么Excel、txt文件批量合并同理哈,留给大家自行研究完成。

如果你喜欢本文,可以点击右下角在看 如果你在跟着学习,请在留言区留言:打卡 如果你刚看到本文,可以查看本系列历史文章跟着学习: 跟小白学Python数据分析——Anaconda安装 跟小白学Python数据分析——使用spyder 跟小白学Python数据分析——数据导入1 跟小白学Python数据分析——数据导入2 跟小白学Python数据分析——描述性统计分析 跟小白学Python数据分析——分组分析 跟小白学Python数据分析——列表 跟小白学Python数据分析——数据框 跟小白学Python数据分析——记录抽取 跟小白学Python数据分析——记录合并 跟小白学Python数据分析——数据导出 跟小白学Python数据分析——For循环

有朋友说看文章太慢,有没有系统、快速学习Python数据分析知识的方法。推荐学习 数据分析专家@文彤老师的 《跟文彤老师学Python数据分析》系列视频课程 我学的就是这个,真庆幸跟对了老师学习 系列课程包含以下三门课程 Python数据分析--玩转Pandas 玩转Python统计分析 Python数据分析--玩转数据可视化