删除csv文件中的特定行,python

时间:2013-08-27 12:26:10

标签: python csv

我想删除(删除)csv文件中的特定行。但是有一些条件。

1.) File can't be buffered in memmory, becuse of it's size (1GB+)
2.) File MUST NOT be "touched" (rewriting file) 

我的工作就是删除csv文件中的某些行,而不更改任何其他行 - 非常重要,因为编码和将过滤后的csv文件发送到打印该文件的公司。

有解决方案吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

无法做到。您希望从文件中删除内容,而无需对其进行修改。这些是相互排斥的。

答案 1 :(得分:0)

您可以尝试使用mmap接口用空格字符替换行字节。

答案 2 :(得分:0)

您可以使用'touch -t'创建旧时间戳。有关更多详细信息,请参阅“touch”的手册页。

touch -t 200510071138 old.dat

请确保记下原始时间戳!

为了删除行,您可以使用'grep -v',它会打印除搜索词之外的所有内容。

grep -v baddata old.dat > new.dat

要使用python进行修改,我们将需要该文件的一些特定细节。

相关问题