我想知道什么是删除.txt文件的最后N行的最快,更有效的方法。
我一直在寻找其他先前的问题,但我发现再次读取和复制行是一种方法。
Remove lines from textfile with python
尽管如此,我一直在尝试寻找其他方式,例如在熊猫上跳行或跳脚,并将结果保存到其他文本中。
同时,我看到了有关“ head”和“ sed”的线程,但不确定它们在Python中的用法。
能否请您提供有关此主题的建议?
答案 0 :(得分:2)
如果要使用熊猫跳过最后n行,则:
import pandas as pd
df = pd.read_csv('yourfile.txt', skipfooter = N)
df.to_csv('yournewfile.txt')
如有必要,使用sep = ...
更改定界符
或者按照您引用的答案进行操作,但是使用with open(..)
作为良好做法:
with open('yourfile.txt') as f1:
lines = f1.readlines()
with open('yournewfile.txt', 'w') as f2:
f2.writelines(lines[:-N])