0

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 ファイルをエンコードして、そのファイルを印刷する会社に送信するため、非常に重要です。

解決策はありますか?

ありがとうございました!

4

3 に答える 3

2

それはできません。コンテンツを変更せずに、ファイルからコンテンツを削除したい。それらは相互に排他的です。

于 2013-08-27T12:29:54.080 に答える
0

「touch -t」を使用して古いタイムスタンプを作成できます。詳細については、'touch' の man ページを参照してください。

touch -t 200510071138 old.dat

元のタイムスタンプを必ず書き留めてください。

行を削除するには、「grep -v」を使用できます。これにより、検索用語以外のすべてが出力されます。

grep -v baddata old.dat > new.dat

Python で変更するには、ファイルの特定の詳細が必要になります。

于 2013-08-27T13:16:07.747 に答える
0

mmap インターフェイスを使用して、行バイトをスペース文字に置き換えることができます。

于 2013-08-27T12:43:47.620 に答える