python - 打开大 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
推荐阅读
- django - 用于文件上传的 Django UpdateView 和 ModelForm 不起作用
- mobile - 使用 MobileFirst 的基于位置的推送通知
- mysql - 当我没有匹配的列时如何从其他表中获取特定 id 的结果
- javascript - 使用@public JsDoc 标记和@export 会导致警告
- sql - 选择替换其他列值的值
- excel - 遍历列表并为每个项目运行代码(VBA)
- wordpress - 使用 ACF 创建新的自定义帖子类型时更新帖子标题
- qlikview - Qlikview 滚动 52 周报告
- php - 在 POST 期间无限制地发送大量变量
- javascript - 选择页面上具有相同外观的项目扩展脚本