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数据分析--玩转数据可视化