利⽤python在⼤量数据⽂件下删除某⼀⾏的例⼦
python修改⼤数据⽂件时,如果全加载到内存中,可能会导致内存溢出。因此可借⽤如下⽅法,将分件分段读取修改。
with open('', 'r') as old_file:
with open('', 'r+') as new_file:
current_line = 0
# 定位到需要删除的⾏
while current_line < (3 - 1): #(del_line - 1)
adline()
current_line += 1
# 当前光标在被删除⾏的⾏⾸,记录该位置
seek_point = ll()
# 设置光标位置
new_file.seek(seek_point, 0)
# 读需要删除的⾏,光标移到下⼀⾏⾏⾸
adline()
# 被删除⾏的下⼀⾏读给 next_line
next_line = adline()
truncate删除数据# 连续覆盖剩余⾏,后⾯所有⾏上移⼀⾏
while next_line:
new_file.write(next_line)
next_line = adline()
# 写完最后⼀⾏后截断⽂件,因为删除操作,⽂件整体少了⼀⾏,原⽂件最后⼀⾏需要去掉
uncate()
注:truncate()函数括号可以加数字,表⽰删除数字之后的字符串,如果不加就从当前光标处开始截断删除
以上这篇利⽤python在⼤量数据⽂件下删除某⼀⾏的例⼦就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。