我有一些非常大的文本文件需要处理,最大的是大约60GB.
每行在七个字段中有54个字符,我想从前三个字段中删除最后三个字符 - 这应该将文件大小减少大约20%.
我是Python的新手,并且有一个代码可以按照每小时大约3.4 GB的速度完成我想做的事情,但是我需要获得至少10 GB /小时的有价值的练习 - 有没有办法加速这个?这段代码并没有接近挑战我的处理器,所以我做了一个没有受过教育的猜测,它受到内部硬盘读写速度的限制?
def ProcessLargeTextFile():
r = open("filepath", "r")
w = open("filepath", "w")
l = r.readline()
while l:
x = l.split(' ')[0]
y = l.split(' ')[1]
z = l.split(' ')[2]
w.write(l.replace(x,x[:-3]).replace(y,y[:-3]).replace(z,z[:-3]))
l = r.readline()
r.close()
w.close()
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.我在Windows 7上使用IDLE Python GUI并拥有16GB的内存 - 也许一个不同的操作系统会更有效率?
编辑:这是要处理的文件的摘录.
70700.642014 31207.277115 -0.054123 -1585 255 255 255
70512.301468 31227.990799 -0.255600 -1655 155 158 158
70515.727097 31223.828659 -0.066727 -1734 191 187 180
70566.756699 31217.065598 -0.205673 -1727 254 255 255
70566.695938 …Run Code Online (Sandbox Code Playgroud)