本文目录导读:

- 使用 Excel / WPS 表格(最常用,处理结构化表格数据)
- 使用 Text Editor 文本编辑器(处理CSV、日志、纯文本)
- 使用命令行工具(Linux / macOS / Windows WSL)
- 使用 Python 脚本(灵活自定义,适合复杂规则)
- 使用数据库(处理数十万行以上的大规模数据)
- 总结选择建议
电脑工具进行“重复数据过滤”(即去除重复行)通常有几种常见的实现方式,具体取决于你使用的工具(Excel、文本编辑器、数据库、Python等)。
以下针对不同场景,提供最核心的操作方法:
使用 Excel / WPS 表格(最常用,处理结构化表格数据)
Excel 的“删除重复项”功能是针对或选定列进行比对,效率很高。
-
操作步骤:
- 选中你要清理的数据区域(或点击数据区域的任意单元格)。
- 点击顶部菜单栏的 “数据” 选项卡。
- 找到并点击 “删除重复项” 按钮。
- 在弹出的对话框中:
- 如果整行内容完全相同才算重复,勾选所有列。
- 如果只根据某一列(如“手机号”)去重,则只勾选该列。
- 点击“确定”,Excel会提示“发现了 XX 个重复值,已将其删除;保留了 XX 个唯一值”。
-
注意:此操作会直接删除重复行数据,无法恢复,建议先备份。
使用 Text Editor 文本编辑器(处理CSV、日志、纯文本)
如果你处理的是纯文本文件(如 .txt, .csv,没有Excel公式),推荐使用 Notepad++ 或 VS Code。
(1) Notepad++ 操作步骤
- 用 Notepad++ 打开文件。
- 点击菜单栏 “编辑” -> “行操作” -> “排序行(升序)”(必须先排序,否则无法去重)。
- 排序完成后,再次点击 “编辑” -> “行操作” -> “移除重复行”。
(2) VS Code 操作步骤
- 用 VS Code 打开文件。
- 按下
Ctrl + Shift + P打开命令面板。 - 输入
Remove Duplicate Lines(需要安装插件,或使用内置命令,具体取决于版本)。 - 在命令面板中选择 “删除重复行”(某些版本需要先排序,或者安装
Remove Duplicate Lines扩展)。
- 注意:这两种方法都直接修改原文件,操作前建议
Ctrl+S另存为副本。
使用命令行工具(Linux / macOS / Windows WSL)
如果你熟悉命令行,这是处理超大文件最快速的方法。
-
使用
sort和uniq组合:# 对文件进行排序,然后去除相邻的重复行 sort input.txt | uniq > output.txt # 如果不想排序(保留原始顺序),可以使用 awk 命令 awk '!seen[$0]++' input.txt > output.txt
使用 Python 脚本(灵活自定义,适合复杂规则)
如果你需要根据特定规则去重(如忽略空格、大小写、只比对公司名),Python 最灵活。
-
去重所有完全相同的行:
lines_seen = set() # 用于存放已经遇到的行 with open('input.txt', 'r') as infile, open('output.txt', 'w') as outfile: for line in infile: if line not in lines_seen: outfile.write(line) lines_seen.add(line) -
根据特定列去重(例如CSV文件的第一列):
import csv seen = set() with open('input.csv', 'r') as infile, open('output.csv', 'w', newline='') as outfile: reader = csv.reader(infile) writer = csv.writer(outfile) for row in reader: # 只检查第一列(索引0) if row[0] not in seen: writer.writerow(row) seen.add(row[0])
使用数据库(处理数十万行以上的大规模数据)
- 操作(以MySQL为例):
-- 假设表名为 data_table,列名为 content DELETE t1 FROM data_table t1 INNER JOIN data_table t2 WHERE t1.id > t2.id AND t1.content = t2.content;
或者创建新表保留唯一值:
CREATE TABLE new_table AS SELECT DISTINCT * FROM old_table;
总结选择建议
| 数据量 | 数据类型 | 推荐工具/方法 |
|---|---|---|
| 几千行以内 | 表格(有列) | Excel / WPS(删除重复项) |
| 几万行以内 | 纯文本(无列) | Notepad++(编辑 -> 行操作 -> 移除重复行) |
| 百万行级别 | 纯文本/CSV | 命令行(sort \| uniq) 或 Python脚本 |
| 超过百万行 | 数据库中的表 | SQL(DISTINCT 或 DELETE JOIN) |
| 需要自定义规则 | 复杂文本 | Python / awk |
核心建议:先备份,再操作! 无论使用哪种方法,最好先复制一份原始数据,以免误删。
标签: 数据去重过滤
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。