Python:是否有一种直接简单的方法可以在没有读取-删除-重写过程的情况下删除一行 .csv 文件?

问题描述

我有一个包含数亿行(是的,大数据)的 .csv 文件,我想使用 Python 删除它的最后一行。我确实知道一些遵循读取-删除-重写过程的方法。例如,使用pandas库,pd.read_csv()先读取它,使用.drop()删除最后一行,然后使用.to_csv()覆盖/重写文件。这有效,但太慢了,因为这个文件包含数亿行......那么,有没有一种简单的直接方法可以在没有这三个传统步骤的情况下更快地处理如此大的数据?谢谢!

解决方法

我根本不会使用 Python。只需使用 Unix 命令行工具。 Here's an example 使用 head 命令跳过最后第 n 行。话虽如此,如果你想做比跳过最后一行更复杂的事情,那么你应该把这个文件放到数据库中,正如上面的评论者所建议的那样。对这种大小的数据做任何有意义的事情在 Python 中是不可行的 - 您需要一个数据库。