【发布时间】:2020-10-21 08:13:57
【问题描述】:
我想在 Python 中打开一个大的 CSV 文件(~2GB),分隔符为“;”(分号和空格),搜索特定单词,如果它出现在一行中以删除整行。虽然我可以执行上述过程,但当我尝试保存 .CSV 文件时,分隔符会发生变化,我无法将“自定义”分隔符设置为“;”。更改分隔符不是一种选择。
【问题讨论】:
我想在 Python 中打开一个大的 CSV 文件(~2GB),分隔符为“;”(分号和空格),搜索特定单词,如果它出现在一行中以删除整行。虽然我可以执行上述过程,但当我尝试保存 .CSV 文件时,分隔符会发生变化,我无法将“自定义”分隔符设置为“;”。更改分隔符不是一种选择。
【问题讨论】:
您可以使用 bash shell 来执行此操作(如果加载 2GB 文件存在问题)。
以下表达式使用 regex\\bYOUR_WORD\nn(将 YOUR_WORD 替换为您的特定单词)并将在没有该条件的情况下创建一个新文件。
此外,这不会消耗大量 RAM。这可能需要一些时间,具体取决于行数。
while read line; do [[ $line =~ \\bYOUR_WORD\\b ]] || echo $line; done < file.csv > newfile.csv
【讨论】: