我想删除(删除)csv文件中的特定行。但是有一些条件。删除csv文件中的特定行,python
1.) File can't be buffered in memmory, becuse of it's size (1GB+)
2.) File MUST NOT be "touched" (rewriting file)
我的工作就是删除CSV文件中的某些行,无需更改任何其他行 - 非常重要,becuse编码和发送过滤csv文件到公司,打印的文件。
有解决方案吗?
谢谢!
我想删除(删除)csv文件中的特定行。但是有一些条件。删除csv文件中的特定行,python
1.) File can't be buffered in memmory, becuse of it's size (1GB+)
2.) File MUST NOT be "touched" (rewriting file)
我的工作就是删除CSV文件中的某些行,无需更改任何其他行 - 非常重要,becuse编码和发送过滤csv文件到公司,打印的文件。
有解决方案吗?
谢谢!
您可以尝试使用mmap接口以空格字符替换行字节。
您可以使用'touch -t'创建旧时间戳。有关更多详细信息,请参阅'touch'的手册页。
touch -t 200510071138 old.dat
只要确保您记下原始时间戳!
为了删除行,您可以使用'grep -v',它会打印除搜索条件以外的所有内容。
grep -v baddata old.dat > new.dat
要用python进行修改,我们需要一些特定的文件细节。
为什么不使用数据库? – dare
你可以制作一个新文件,然后不要触摸旧文件吗? – philshem
我可以创建一个新文件,但我必须从旧文件中删除一些行,然后过滤文件然后发送。问题是,因为我不应该重写行将保留原因编码 – djpiky