python读取(几十G)超大文本,节约内存实现方法

博主对大数据相关处理方法了解不多,现有一份数据需要用作资料查询的数据库,只能使用python进行简单的操作。

目前使用以下方法:

with语句打开和关闭文件,包括抛出一个内部块异常。for line in f文件对象f视为一个迭代器,会自动的采用缓冲IO和内存管理,所以你不必担心大文件。”

1 lj=r'E:\123\sj1.txt'
2 line_num=0
3 with open(lj, 'r', encoding = 'utf-8') as f:
4     for line in f:
5         line_num=line_num+1
6             
7 print('查询结束')
8 print('共计'+str(line_num)+'行数据')

测试过程中,所读取的文本文件大小约18G,大约有几亿行数据,全部读完约4、5分钟左右,采用遍历的方法查找信息跑下来的时间也差不多4、5分钟。

后续可能尝试将数据文件分割成多个文件,通过多线程读取提速。

 

posted @ 2022-07-06 17:38  精神小黑猫  阅读(1733)  评论(0)    收藏  举报