【发布时间】:2017-02-18 01:37:17
【问题描述】:
我希望尽快在 python 中打开一个大文本文件并从中获取数据(它几乎有 62603143 行 - 大小 550MB)。由于我不想给我的电脑带来压力,所以我按照以下方式进行操作,
import time
start = time.time()
for line in open(filePath):
#considering data as last element in file
if data in line:
do_something(data)
end = time.time()
print "processing time = %s" % (count, end-start)
但正如我通过上述方法所做的那样,它需要几乎 18 秒 才能读取完整文件(我的计算机具有 Intel i3 处理器和 4 GB RAM)。同样,如果文件大小更大,则需要更多时间,并且考虑到用户的观点,它非常大。我在论坛上阅读了很多意见,提到了多个 Stack Overflow 问题,但没有获得从大文件中读取和获取数据的快速有效的方法。 Python 真的有办法在几秒钟内读取大型文本文件吗?
【问题讨论】:
-
您可以使用 grep 提前过滤掉您想要的行,然后通过 python 运行剩余的数据。
-
@acushner 我猜这是为 linux 做的,我是为 windows 做的
-
grep 存在于 Windows 上。易于安装
标签: python python-2.7 text-files