如何使用Python从txt文件中删除最后N行?

时间:2019-01-28 10:14:40

标签: python

我想知道什么是删除.txt文件的最后N行的最快,更有效的方法。

我一直在寻找其他先前的问题,但我发现再次读取和复制行是一种方法。

Remove lines from textfile with python

尽管如此,我一直在尝试寻找其他方式,例如在熊猫上跳行或跳脚,并将结果保存到其他文本中。

同时,我看到了有关“ head”和“ sed”的线程,但不确定它们在Python中的用法。

能否请您提供有关此主题的建议?

1 个答案:

答案 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])