打开大CSV文件,删除一行,然后保存副本

问题描述

我想在Python中打开一个大CSV文件(〜2GB),分隔符为“;”(分号和空格),搜索特定的单词,如果该单词出现在一行中以删除整行。尽管可以执行上述过程,但是当我尝试保存.CSV文件时,定界符会发生变化,并且无法将“定制的”定界符设置为“;”。不能更改定界符。

解决方法

您可以使用bash shell来执行此操作(如果加载2GB文件是一个问题)。

以下表达式使用正则表达式\\bYOUR_WORD\nn(将YOUR_WORD替换为您的特定单词)并将创建一个没有该条件的新文件。

此外,这不会消耗大量RAM。这可能需要一些时间,具体取决于行数。

while read line; do [[ $line =~ \\bYOUR_WORD\\b ]] || echo $line; done <  file.csv > newfile.csv