Python:如何移除大文件每行特定字符(,)后的所有内容?
碰到超大文件处理的问题,千万别用Notepad++这种普通编辑器硬扛,很容易直接崩溃。给你几个高效的解决方案,都是专门针对大文件优化的,内存占用极低,速度还快:
Windows 平台(PowerShell 原生方案)
不需要额外安装软件,直接用系统自带的PowerShell就能搞定:
基础版命令
Get-Content "C:\你的文件路径\原始文件.txt" | ForEach-Object { $_.Split(',')[0] } | Set-Content "C:\保存路径\处理后文件.txt"
提速版(批量读取)
如果文件特别大,加-ReadCount参数批量读取,能大幅提升处理速度:
Get-Content "C:\你的文件路径\原始文件.txt" -ReadCount 1000 | ForEach-Object { $_ | ForEach-Object { $_.Split(',')[0] } } | Set-Content "C:\保存路径\处理后文件.txt"
原理:Split(',')[0]会把每行按逗号分割,只保留第一个分段的内容。
Linux/macOS 平台(命令行工具)
用系统自带的sed或awk命令,处理大文件的速度堪称天花板:
sed 命令(极简快速)
sed 's/,.*//' 原始文件.txt > 处理后文件.txt
解释:s/,.*//是正则替换规则——把每行中第一个逗号及后面的所有内容替换为空,直接保留逗号前的部分。
awk 命令(逻辑更直观)
awk -F ',' '{print $1}' 原始文件.txt > 处理后文件.txt
解释:-F ','指定逗号为字段分隔符,print $1打印每行的第一个字段。
可视化编辑器备选方案
如果偏好图形界面操作,可以用专门支持大文件的编辑器,比如 Large Text File Viewer(免费)或 EmEditor(有免费试用版),它们能轻松加载9GB级别的文件:
- 打开目标文件后,按
Ctrl+H调出替换窗口 - 查找内容输入:
,.* - 替换内容留空
- 勾选「正则表达式」选项,点击「全部替换」
注意:处理超大文件前,一定要备份原始文件,避免意外导致数据丢失!
内容的提问来源于stack exchange,提问作者X-HAT
相关产品推荐
相关产品推荐

