python遍历目录文件并读取的操作是什么
Admin 2022-09-30 群英技术资讯 531 次浏览
import os path= "./data" #路径 files = os.listdir(path) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 for file in files: print(file) if os.path.isfile(path+ "/"+file): #os.path.isfile(path) 判断路径是否为文件 print('file'+'这是一个文件') filename,extension = os.path.splitext(file) #分割路径,返回路径名和文件扩展名的元组 if extension == ".txt": print(filename+'这是一个文本文件') elif extension == ".xlsx": print(filename+'这是一个excel文件') if os.path.isdir(path + "/" +file): print(file+"是一个文件夹")
读取结果:
在我们遍历文件夹的基础上,如何实现快速读取指定文件,提高工作效率?
只需要在上述代码的基础上,导入pandas
包,read_excel_
我们所需要的文件即可
import pandas as pd import os path = './data' def get_all_files(path): print('-'*25+'函数被调用'+'-'*25) files = os.listdir(path) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 for file in files: if os.path.isfile(path+ "/"+file): #os.path.isfile(path) 判断路径是否为文件 print('file'+">>>>>是文件") filename,extension = os.path.splitext(file) #分割路径,返回路径名和文件扩展名的元组 if extension == ".txt": print(filename+"#####是文本文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_table(path+'/'+file) print(data) elif extension == ".xlsx": print(filename+'#####是Excel文件#####') print("读取"+filename+"文件中的内容...........") data = pd.read_excel(path+'/'+file) print(data) elif extension == ".csv": print(filename+'#####是csv文件#####') print("读取"+filename+"文件中的内容...........") data = pd.read_csv(path+'/'+file) print(data) if os.path.isdir(path + "/" +file): print(file+"¥¥¥¥¥¥¥是文件夹¥¥¥¥¥¥¥") get_all_files(path+'/'+file) get_all_files(path)
读取成功!
在日常工作中我们有很多表格需要处理,如何批量的将很多个文件夹中的表格合并到一起?
重点:
DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)
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() def get_all_files(path): global final_data print("-"*20 + "函数被调用" + "-"*20) files = os.listdir(path) for file in files: if os.path.isfile(path + "/" +file): print(file+">>>>>是文件") filename,extension=os.path.splitext(file) # 判断是不是文本文件 if extension == ".txt" : print(filename+"#####是文本文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_table(path+'/' +file) print(data) elif extension=='.xlsx': print(filename+"#####是Excel文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_excel(path+'/' +file) print(data) elif extension=='.csv': print(filename + "是csv文件,是本次需要处理的文件") # 获取文件内容 file_data = pd.read_csv(path +'/'+file) final_data = final_data.append(file_data,ignore_index=True) #append描述:在列表ls最后(末尾)添加一个元素object print("《《《《合并"+filename+"文件数据》》》》") # 判断是不是文件夹 elif os.path.isdir(path+'/'+file): print(file + "¥¥¥¥是文件夹¥¥¥¥¥¥") get_all_files(path + '/' + file) get_all_files(path) print("数据合并完成")
开始合并,我们来查看一下合并后的数据:
总共1000多万条数据,如果我们用Excel的话估计要很多时间将这么多表格合并,而且会很卡,
import os path= "./data" #路径 files = os.listdir(path) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 for file in files: print(file) if os.path.isfile(path+ "/"+file): #os.path.isfile(path) 判断路径是否为文件 print('file'+'这是一个文件') filename,extension = os.path.splitext(file) #分割路径,返回路径名和文件扩展名的元组 if extension == ".txt": print(filename+'这是一个文本文件') elif extension == ".xlsx": print(filename+'这是一个excel文件') if os.path.isdir(path + "/" +file): print(file+"是一个文件夹")
读取结果:
在我们遍历文件夹的基础上,如何实现快速读取指定文件,提高工作效率?
只需要在上述代码的基础上,导入pandas
包,read_excel_
我们所需要的文件即可
import pandas as pd import os path = './data' def get_all_files(path): print('-'*25+'函数被调用'+'-'*25) files = os.listdir(path) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 for file in files: if os.path.isfile(path+ "/"+file): #os.path.isfile(path) 判断路径是否为文件 print('file'+">>>>>是文件") filename,extension = os.path.splitext(file) #分割路径,返回路径名和文件扩展名的元组 if extension == ".txt": print(filename+"#####是文本文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_table(path+'/'+file) print(data) elif extension == ".xlsx": print(filename+'#####是Excel文件#####') print("读取"+filename+"文件中的内容...........") data = pd.read_excel(path+'/'+file) print(data) elif extension == ".csv": print(filename+'#####是csv文件#####') print("读取"+filename+"文件中的内容...........") data = pd.read_csv(path+'/'+file) print(data) if os.path.isdir(path + "/" +file): print(file+"¥¥¥¥¥¥¥是文件夹¥¥¥¥¥¥¥") get_all_files(path+'/'+file) get_all_files(path)
读取成功!
在日常工作中我们有很多表格需要处理,如何批量的将很多个文件夹中的表格合并到一起?
重点:
DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)
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() def get_all_files(path): global final_data print("-"*20 + "函数被调用" + "-"*20) files = os.listdir(path) for file in files: if os.path.isfile(path + "/" +file): print(file+">>>>>是文件") filename,extension=os.path.splitext(file) # 判断是不是文本文件 if extension == ".txt" : print(filename+"#####是文本文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_table(path+'/' +file) print(data) elif extension=='.xlsx': print(filename+"#####是Excel文件#####") print("读取"+filename+"文件中的内容...........") data = pd.read_excel(path+'/' +file) print(data) elif extension=='.csv': print(filename + "是csv文件,是本次需要处理的文件") # 获取文件内容 file_data = pd.read_csv(path +'/'+file) final_data = final_data.append(file_data,ignore_index=True) #append描述:在列表ls最后(末尾)添加一个元素object print("《《《《合并"+filename+"文件数据》》》》") # 判断是不是文件夹 elif os.path.isdir(path+'/'+file): print(file + "¥¥¥¥是文件夹¥¥¥¥¥¥") get_all_files(path + '/' + file) get_all_files(path) print("数据合并完成")
开始合并,我们来查看一下合并后的数据:
总共1000多万条数据,如果我们用Excel的话估计要很多时间将这么多表格合并,而且会很卡,
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Pandas是Python语言的一个扩展程序库,提供高性能、易于使用的数据结构和数据分析工具,下面这篇文章主要给大家介绍了关于如何使用pandas对超大csv文件进行快速拆分的相关资料,需要的朋友可以参考下
这篇文章主要为大家介绍了Python处理yaml和嵌套数据结构技巧示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
大家好,本篇文章主要讲的是python实现简易猜数小游戏,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
本文将学习字符串数据类型相关知识,将讨论如何声明字符串数据类型,字符串数据类型与 ASCII 表的关系,字符串数据类型的属性,以及一些重要的字符串方法和操作,超级干货,不容错过
这几天公司一个项目用到了一个技术点,需要判断图片是不是空白,后面经过思考,空白图片不就是一个纯色图片吗?所有判断空白图片只需要判断是不是纯色图片,刚好pillow模块有一个功能判断图片的,下面直接上代码:
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008