本文目录导读:

要保留原版(即保留第一次出现的数据)并删除重复项,不同的工具(Excel、WPS、Python、SQL)操作方式不同,以下是几种常见场景的详细步骤:
在 Excel 或 WPS 表格中(最常用)
Excel 的“删除重复值”功能默认就是保留第一个出现的记录,删除后续重复项。
操作步骤:
- 选中数据区域(A1:C100,确保包含表头)。
- 点击工具栏:数据 -> 删除重复值。
- 在弹出的对话框中:
- 勾选你想要根据哪几列来判断重复(如果根据“姓名”去重,就只勾选姓名列)。
- 勾选 “数据包含标题”(如果你的第一行是表头)。
- 点击 确定。
- 结果:Excel 会删除除第一次出现之外的所有重复行,保留原顺序和原版数据。
注意:如果数据量很大,建议先备份一份原表。
使用 Python(pandas 库,非常灵活)
如果你需要编程处理,pandas 的 drop_duplicates 方法默认保留第一个。
import pandas as pd
# 读取数据(假设是 CSV 文件)
df = pd.read_csv('your_file.csv')
# 删除基于 '姓名' 列的重复项,保留第一个出现的
df_cleaned = df.drop_duplicates(subset=['姓名'], keep='first')
# 或者按所有列去重
# df_cleaned = df.drop_duplicates(keep='first')
# 保存结果
df_cleaned.to_csv('cleaned_file.csv', index=False)
keep='first':保留第一个出现(默认,可以不写)。keep='last':保留最后一个。keep=False:删除所有重复项。
在 SQL 数据库中
使用 ROW_NUMBER() 配合 PARTITION BY 可以精确控制保留哪一条。
WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY 姓名 ORDER BY id) AS rn
FROM your_table
)
DELETE FROM CTE WHERE rn > 1;
PARTITION BY 姓名:按姓名分组,每组内的重复只保留一条。ORDER BY id:这里的id通常用主键或时间戳,可以控制保留哪一个(ORDER BY id ASC保留最早的一条)。- 如果不指定
PARTITION BY,则全表去重。
如果只是“标记”重复而不删除(用于检查)
如果你不想删除,只想看看哪些是重复项(以便手动处理),可以使用:
- Excel:条件格式 -> 突出显示单元格规则 -> 重复值。
- Python:
df.duplicated(subset=['姓名'], keep='first')会返回一个布尔序列,第一次出现为 False,后续为 True。
关键提醒
- “保留原版” 的关键在于 “保留第一次出现的记录”,绝大多数去重工具默认都是这个逻辑。
- 如果需要保留最后一次出现的(例如日志表),需要明确指定
keep='last'。
如果你能告诉我你具体使用什么工具(Excel/WPS/Python/SQL 等),我可以给出更精确的代码或操作截图级指导。
标签: 删除重复项
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播