高效读取上万(30w)数据

在处理大数据时,如训练模型或数据清洗,快速读取至关重要。本文介绍了两种方法:递归遍历和yield生成器。递归遍历耗时约118秒,而使用yield生成器仅需4.97秒,显著提高了效率。
摘要由CSDN通过智能技术生成
高效读取几十万文件数据

我们通常在训练模型,或者在清洗数据的时候,会读写大量的数据。那如何快速的读取??

这里使用两个方法:1.递归遍历 2.yeiled生成器

首先需要掌握的知识:os的使用。
os.listDir(path) #list读取路径下的文件名

os.path.isxxx #这里有五个:isfile,isabs,islink,isdir,ismount
我们这里用isfile,isdir

1.递归的方法
"""
Author:x-bessie
Decsription:递归低效读取文本文件
"""
import os,time
def __TraversalDir(Dirpath):
	#返回指定目录包含的文件或文件夹的名字的列表
	for i,lists in enumerate(os.listdir(Dirpath)):
        #待处理的文件夹名字列表
        path=os.path.join(Dirpath,lists)
        os.path.is
        if os.path.isfile(path):
            if i%10000==0:
                print('{t}*** {i}\t doc has been read'.format(i=i,t=time.strftime('%Y-%m-&d %H:%M:%S',time.localtime())))
        if os.path.isdir(path):
                TraversalDir(path)

if __name__ == "__main__":
    t1=time.time()
    Dirpa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值