python遍历目录文件并读取的操作是什么
Admin 2022-09-30 群英技术资讯 1057 次浏览
关于“python遍历目录文件并读取的操作是什么”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天我们将用Python来创建一个属于自己的音乐播放器。为此,我们将使用三个软件包,在这里我们将看到创建音乐播放器的每个步骤,我们将代码分为四个部分。
python能代替JavaScript;可以利用Pyjamas实现Python代替JavaScript,Pyjamas是一种Python的ajax开发框架,可以用于代替HTML和JavaScript编写网络程序,可以重复使用和导入类和模块,并且AJAX库还可以
这篇文章主要介绍了Python如何保留float类型小数点后3位,具有很好的参考价值,希望对的大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要为大家详细介绍了python实现简单的飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
property是一个类,可以把一个方法当做属性进行使用,这样做可以简化代码使用。实际上就是装饰类中属性的gettersetter方法,使得属性可以通过对象.属性的方式获取或设置 使用property的两种方式装饰器方式类属性方式2.装饰器方式@property修饰获取的方法getter,方法名必须和属性名一样@age.setter修饰设置值的方法sett
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008