如何使用Python删除TXT文件中包含指定关键词的所有行
删除TXT文件中含指定日期行的操作方案
你可以根据自己使用的操作系统选择对应方案,数万行数据均可在数秒内处理完成:
Linux / macOS 终端方案
直接使用grep命令反向匹配,保留不含目标关键词的行:
# 输出过滤后的内容到新文件,原文件保留 grep -v "2021–07-13" 原文件名.txt > 过滤后文件名.txt # 如需直接修改原文件(操作前建议先备份) grep -v "2021–07-13" -i 原文件名.txt
如果需要同时删除长横、短横两种格式的2021年7月13日数据,可改为正则匹配:grep -vE "2021[–-]07-13" 原文件名.txt > 过滤后文件名.txt
Windows 系统方案
方法1:PowerShell 命令(推荐大文件使用)
Get-Content 原文件名.txt | Where-Object { $_ -notmatch "2021–07-13" } | Set-Content 过滤后文件名.txt -Encoding UTF8
指定UTF8编码可避免文件内容出现乱码。
方法2:Notepad++ 可视化操作(适合小文件)
- 用Notepad++打开目标TXT文件
- 按
Ctrl+F调出搜索面板,切换到「标记」标签页 - 查找目标填写
2021–07-13,勾选「标记行」后点击「全部标记」 - 依次点击顶部菜单栏「搜索 → 书签 → 删除书签行」即可完成清理
跨平台Python脚本方案
如果需要自定义调整过滤逻辑,可使用以下逐行读取的脚本,不会占用过高内存:
with open("原文件名.txt", "r", encoding="utf-8") as f_in, open("过滤后文件名.txt", "w", encoding="utf-8") as f_out: for line in f_in: if "2021–07-13" not in line: f_out.write(line)
所有操作执行前建议先备份原始文件,避免误操作导致数据丢失
内容的提问来源于stack exchange,提问作者Mm Victory
相关产品推荐
相关产品推荐

