Python遍历目录下文件、读取、千万条数据合并实例分析(python,文件,遍历,开发技术)

时间:2024-05-06 13:29:30 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

一、使用Python进行文件和文件夹的判断

  • 递归 :主要目的就是遍历文件夹和文件

  • 对文件夹和文件进行属性判断

  • 首先对文件夹进行遍历,看文件夹里有什么样的文件,读取出文件夹中的所有文件

importospath="./data"#路径files=os.listdir(path)#os.listdir()方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。forfileinfiles:print(file)ifos.path.isfile(path+"/"+file):#os.path.isfile(path)判断路径是否为文件print('file'+'这是一个文件')filename,extension=os.path.splitext(file)#分割路径,返回路径名和文件扩展名的元组ifextension==".txt":print(filename+'这是一个文本文件')elifextension==".xlsx":print(filename+'这是一个excel文件')ifos.path.isdir(path+"/"+file):print(file+"是一个文件夹")

读取结果:

Python遍历目录下文件、读取、千万条数据合并实例分析

二、使用Python完整的获取所有文件及文件夹并读取相应的文件

在我们遍历文件夹的基础上,如何实现快速读取指定文件,提高工作效率?
只需要在上述代码的基础上,导入pandas包,read_excel_我们所需要的文件即可

importpandasaspdimportospath='./data'defget_all_files(path):print('-'*25+'函数被调用'+'-'*25)files=os.listdir(path)#os.listdir()方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。forfileinfiles:ifos.path.isfile(path+"/"+file):#os.path.isfile(path)判断路径是否为文件print('file'+">>>>>是文件")filename,extension=os.path.splitext(file)#分割路径,返回路径名和文件扩展名的元组ifextension==".txt":print(filename+"#####是文本文件#####")print("读取"+filename+"文件中的内容...........")data=pd.read_table(path+'/'+file)print(data)elifextension==".xlsx":print(filename+'#####是Excel文件#####')print("读取"+filename+"文件中的内容...........")data=pd.read_excel(path+'/'+file)print(data)elifextension==".csv":print(filename+'#####是csv文件#####')print("读取"+filename+"文件中的内容...........")data=pd.read_csv(path+'/'+file)print(data)ifos.path.isdir(path+"/"+file):print(file+"¥¥¥¥¥¥¥是文件夹¥¥¥¥¥¥¥")get_all_files(path+'/'+file)get_all_files(path)

Python遍历目录下文件、读取、千万条数据合并实例分析

读取成功!

三、使用Python合并数据

在日常工作中我们有很多表格需要处理,如何批量的将很多个文件夹中的表格合并到一起?

重点:

DataFrame.append(*other*,*ignore_index=False*,*verify_integrity=False*,*sort=None*)

append的使用

  • other: 是要添加的数据,append很不挑食,这个other可以是dataframe,dict,Seris,list等等。

  • ignore_index: 参数为True时将在数据合并后,按照0,1,2,3....的顺序重新设置索引,忽略了旧索引。

  • verify_integrity:参数为True时,如果合并的数据与原数据包含索引相同的行,将报错。

path='./project_data'##声明一个空的DataFrame,用来做最终的数据合并final_data=pd.DataFrame()#声明一个空的DataFrame,用来做最终的数据合并final_data=pd.DataFrame()defget_all_files(path):globalfinal_dataprint("-"*20+"函数被调用"+"-"*20)files=os.listdir(path)forfileinfiles:ifos.path.isfile(path+"/"+file):print(file+">>>>>是文件")filename,extension=os.path.splitext(file)#判断是不是文本文件ifextension==".txt":print(filename+"#####是文本文件#####")print("读取"+filename+"文件中的内容...........")data=pd.read_table(path+'/'+file)print(data)elifextension=='.xlsx':print(filename+"#####是Excel文件#####")print("读取"+filename+"文件中的内容...........")data=pd.read_excel(path+'/'+file)print(data)elifextension=='.csv':print(filename+"是csv文件,是本次需要处理的文件")#获取文件内容file_data=pd.read_csv(path+'/'+file)final_data=final_data.append(file_data,ignore_index=True)#append描述:在列表ls最后(末尾)添加一个元素objectprint("《《《《合并"+filename+"文件数据》》》》")#判断是不是文件夹elifos.path.isdir(path+'/'+file):print(file+"¥¥¥¥是文件夹¥¥¥¥¥¥")get_all_files(path+'/'+file)get_all_files(path)print("数据合并完成")

Python遍历目录下文件、读取、千万条数据合并实例分析

开始合并,我们来查看一下合并后的数据:

Python遍历目录下文件、读取、千万条数据合并实例分析

总共1000多万条数据,如果我们用Excel的话估计要很多时间将这么多表格合并,而且会很卡。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python遍历目录下文件、读取、千万条数据合并实例分析的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎样进行Visual Studio分析下一篇:

20 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18