python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python删除Excel重复行

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

作者:E-iceblue

在整理客户名单、导入调查数据或合并多个数据源时,Excel 表格中很容易出现重复记录,本文将介绍 4 种删除 Excel 重复行的方法,大家可以根据需要进行选择

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

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

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

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

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

操作步骤

注意:

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

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

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

操作步骤

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

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

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

使用方法

该结果是一个动态数组,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重复行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文