【问题标题】:Open big CSV file, remove a line and then save a copy [closed]打开大 CSV 文件,删除一行,然后保存副本 [关闭]
【发布时间】:2020-10-21 08:13:57
【问题描述】:

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

【问题讨论】:

    标签: python csv delimiter


    【解决方案1】:

    您可以使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多