利用python在大量数据文件下删除某一行的例子
python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。
withopen('file.txt','r')asold_file: withopen('file.txt','r+')asnew_file: current_line=0 #定位到需要删除的行 whilecurrent_line<(3-1):#(del_line-1) old_file.readline() current_line+=1 #当前光标在被删除行的行首,记录该位置 seek_point=old_file.tell() #设置光标位置 new_file.seek(seek_point,0) #读需要删除的行,光标移到下一行行首 old_file.readline() #被删除行的下一行读给next_line next_line=old_file.readline() #连续覆盖剩余行,后面所有行上移一行 whilenext_line: new_file.write(next_line) next_line=old_file.readline() #写完最后一行后截断文件,因为删除操作,文件整体少了一行,原文件最后一行需要去掉 new_file.truncate()
注:truncate()函数括号可以加数字,表示删除数字之后的字符串,如果不加就从当前光标处开始截断删除
以上这篇利用python在大量数据文件下删除某一行的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。