我有很多非常大的文本文件需要处理,最大的大约60GB。
每行在七个字段中有54个字符,我想删除前三个字段中的最后三个字符,这将使文件大小减少大约20%。
我是Python的新手,我有一个代码可以以每小时3.4gb的速度完成我想做的事情,但是要成为一个有价值的练习,我真的需要达到至少10gb/hr的速度-有没有办法加快速度?这段代码并没有挑战我的处理器,所以我猜测它受到内部硬盘读写速度的限制?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()
任何帮助都将不胜感激。我在Windows7上使用的是闲置的Python图形用户界面,并且有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 31218.030807 -0.047928 -1689 249 251 249
70536.117874 31227.837662 -0.033096 -1548 251 252 252
70536.773270 31212.970322 -0.115891 -1434 155 158 163
70533.530777 31215.270828 -0.154770 -1550 148 152 156
70533.555923 31215.341599 -0.138809 -1480 150 154 158