Python实现删除Excel表格中重复行的实用方法

 更新时间:2026年03月06日 08:29:13   作者:E-iceblue  
在整理客户名单、导入调查数据或合并多个数据源时,Excel 表格中很容易出现重复记录,本文将介绍 4 种删除 Excel 重复行的方法,大家可以根据需要进行选择

在整理客户名单、导入调查数据或合并多个数据源时,Excel 表格中很容易出现重复记录。重复数据不仅会影响统计分析结果,还可能导致文件体积变大、数据管理混乱。因此,在进行数据分析或生成报告之前,清理重复数据通常是必不可少的一步。

本文将介绍 4 种删除 Excel 重复行的方法,从适合人工检查的可视化方式,到自动化的 Python 脚本方案,帮助你根据不同场景快速清理重复数据。无论是日常办公还是数据处理,这些方法都能让你的 Excel 表格更加整洁、准确。

一、查找重复数据并手动删除

在正式删除重复数据之前,有时候我们希望 先查看重复数据是否真的需要删除。例如,一些看似重复的记录可能实际上包含不同的信息。

此时,可以使用 条件格式 来高亮显示重复值,方便进行人工检查和删除。

操作步骤

  • 选择需要检查的列或数据区域。
  • 在 Excel 功能区点击 开始 → 条件格式
  • 选择 突出显示单元格规则 → 重复值

  • 选择一种高亮颜色(例如浅红色填充),点击 确定
  • 高亮显示后,可以使用 按颜色筛选,将重复数据集中显示,然后手动删除不需要的行。

注意:

条件格式识别的是 单元格值是否重复,而不一定是整行数据完全相同。因此,如果想判断整行是否重复,建议对 唯一标识列(例如订单号、用户 ID 等)应用此规则。

二、使用 Excel 内置工具删除重复行

如果已经确认可以直接删除重复数据,那么使用 Excel 自带的 删除重复项 功能是最快捷的方法。这种方式适合用来快速清理数据表中的重复行。

操作步骤

  • 选中数据区域中的任意一个单元格。
  • 打开功能区 数据 选项卡。
  • 在 数据工具 组中点击 删除重复项
  • 在弹出的对话框中勾选 数据包含标题(如果数据包含表头)。

  • 选择需要参与去重判断的列。如果要删除完全相同的重复行,可以保持所有列勾选。
  • 点击 确认,Excel 会提示删除了多少条重复记录。

需要注意的是:Excel 会保留第一次出现的行,并删除后续重复行。

三、使用 UNIQUE 函数提取唯一数据

如果你希望在不修改原始数据的情况下去除重复行,可以使用 Excel 的 UNIQUE 函数。该函数可以根据指定区域生成去重后的数据列表,非常适合在新的区域或新工作表中创建一份干净的数据副本。

使用方法

  • 在空白单元格中点击,作为输出结果的起始位置。
  • 输入公式:=UNIQUE(A1:C50)(需要 Excel 365 或 Excel 2021 及更新版本)
  • 按回车键,Excel 会自动生成去重后的数据列表。

该结果是一个动态数组,Excel 会自动填充唯一值,从而得到一份去重后的数据视图。

如果你使用的是较旧版本的 Excel,可以借助 COUNTIFS 函数 标记重复行,然后通过 筛选 找到这些重复记录并手动删除。

四、使用 Python 自动删除 Excel 重复行

对于开发者或需要处理大量数据的用户来说,手动操作 Excel 显然效率较低。这时可以使用 Python 自动处理 Excel 文件。

借助 Free Spire.XLS for Python 库,可以在不依赖 Microsoft Office 的情况下,直接读取和修改 Excel 文件,实现自动去重。

该库支持自定义逻辑,例如:

  • 处理隐藏空格
  • 判断整行数据是否完全一致
  • 自动删除重复行

从而更加准确地识别和清理重复数据。

安装库

pip install Spire.Xls.Free

Python 示例代码

下面的示例会从表格底部向上遍历数据行,这样在删除行时不会影响行索引。同时,该脚本默认会保留第一行(通常是表头)。

from spire.xls import *
from spire.xls.common import *

# 创建一个 Workbook 对象并加载 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")

# 获取第三个工作表
sheet = workbook.Worksheets[2] 

# 获取最后一行和最后一列
lastRow = sheet.LastRow
lastCol = sheet.LastColumn
seen_rows = set()

# 倒序遍历所有行
for row in range(lastRow, 1, -1):
    row_values = []
    for col in range(1, lastCol + 1):
        cell_text = sheet.Range[row, col].Text
        # 去除空格的值
        row_values.append(cell_text.strip() if cell_text else "")

    row_key = "|".join(row_values)

    if row_key in seen_rows:
        # 删除重复行
        sheet.DeleteRow(row)
    else:
        seen_rows.add(row_key)

# 保存文件
workbook.SaveToFile("移除重复行.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

运行该脚本后,Excel 文件中的重复行将被自动删除,并生成新的去重后的文件。下面是新文件预览:

五、方法总结:如何选择合适的去重方式

不同的方法适合不同的使用场景。下面是一个简单的对比表,帮助你快速选择适合自己的方案。

方法适用场景操作方式难度
Remove Duplicates快速删除重复行直接删除原数据简单
条件格式人工检查重复数据高亮显示后手动删除简单
UNIQUE 函数保留原始数据生成去重后的新列表中等
Python 脚本自动化处理大量数据自动删除重复行较高

结语

掌握以上几种方法,可以帮助你在不同场景下高效清理 Excel 数据。对于日常办公来说,Excel 自带的删除重复项工具已经足够使用;而在处理大规模数据或自动化流程时,使用 Python 脚本会更加高效。无论采用哪种方法,在批量删除数据之前,都建议先备份原始文件,以防误删重要信息。

现在就检查一下你的 Excel 表格,清除掉那些不必要的重复数据,让数据管理变得更加高效吧。

到此这篇关于Python实现删除Excel表格中重复行的实用方法的文章就介绍到这了,更多相关Python删除Excel重复行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • TensorFlow安装并在Pycharm搭建环境的详细图文教程

    TensorFlow安装并在Pycharm搭建环境的详细图文教程

    今天动手开始搭建TensorFlow开发环境,所以下面这篇文章主要给大家介绍了关于TensorFlow安装并在Pycharm搭建环境的详细图文教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python利用for循环打印星号三角形的案例

    Python利用for循环打印星号三角形的案例

    这篇文章主要介绍了Python利用for循环打印星号三角形的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python 函数的详解与应用范例

    python 函数的详解与应用范例

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数
    2021-11-11
  • 什么是Python中的匿名函数

    什么是Python中的匿名函数

    在本篇文章里小编给大家整理的是关于Python匿名函数知识点总结,需要的朋友们可以学习参考下。
    2020-06-06
  • 使用Python实现两组数据纵向排序

    使用Python实现两组数据纵向排序

    在数据处理和分析中,排序是一项非常基础且重要的操作,本文将详细介绍如何使用Python对两组数据进行纵向排序,即每一列分别进行排序,同时保持数据的对应关系,需要的可以参考下
    2024-12-12
  • Python通过四大 AutoEDA 工具包快速产出完美数据报告

    Python通过四大 AutoEDA 工具包快速产出完美数据报告

    在三年前,我们做数据竞赛或者数据建模类的项目时,前期我们会耗费较多的时间去分析数据,但现在非常多擅长数据分析的大师们已经将我们平时常看的数据方式进行了集成,开发了很多AutoEDA的工具包。可以帮助我们节省大量时间
    2021-11-11
  • 用Python制作简单的钢琴程序的教程

    用Python制作简单的钢琴程序的教程

    这篇文章主要介绍了用Python制作简单的钢琴程序的教程,用键盘演奏、包括变速和变调等功能的实现,需要的朋友可以参考下
    2015-04-04
  • python虚拟环境完美部署教程

    python虚拟环境完美部署教程

    这篇文章主要介绍了python虚拟环境完美部署教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 学生如何免费使用Pycharm专业版学生认证教程

    学生如何免费使用Pycharm专业版学生认证教程

    这篇文章主要介绍了学生如何免费使用Pycharm专业版,学生认证教程,有了这个教程在校期间就可以免费使用Pycharm,简直是学生党的福音,快来一起看看吧
    2023-03-03
  • Python Web框架Flask信号机制(signals)介绍

    Python Web框架Flask信号机制(signals)介绍

    这篇文章主要介绍了Python Web框架Flask信号机制(signals)介绍,本文介绍Flask的信号机制,讲述信号的用途,并给出创建信号、订阅信号、发送信号的方法,需要的朋友可以参考下
    2015-01-01

最新评论