您好,登錄后才能下訂單哦!
python修改大數據文件時,如果全加載到內存中,可能會導致內存溢出。因此可借用如下方法,將分件分段讀取修改。
with open('file.txt', 'r') as old_file: with open('file.txt', 'r+') as new_file: current_line = 0 # 定位到需要刪除的行 while current_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() # 連續覆蓋剩余行,后面所有行上移一行 while next_line: new_file.write(next_line) next_line = old_file.readline() # 寫完最后一行后截斷文件,因為刪除操作,文件整體少了一行,原文件最后一行需要去掉 new_file.truncate()
注:truncate()函數括號可以加數字,表示刪除數字之后的字符串,如果不加 就從當前光標處開始截斷刪除
以上這篇利用python在大量數據文件下刪除某一行的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。