数据和电子表格 · CSV 清理器
重复行删除的工作原理:精确匹配、空格和大小写
· 工作原理
csv 数据清理 重复项
两行可能看起来相同,但仍然不逐字节匹配。这篇文章解释了“重复”对于清理工具意味着什么,空格、大小写和格式如何创建错误的不匹配,以及如何准备数据以便重复数据删除捕获您想要的内容。
“删除重复项”留下明显的重复 - 为什么尾随空格或大写字母使两行不同
联系人导出可以显示两行看起来相同的行,而一封电子邮件以空格结尾或一个姓氏使用大写字母。重复按钮不应用人类相似性。在发布的页面上,它会比较每个单元格的完整字符串值,此时大小写和空格仍然很重要。
这解释了为什么在第一次点击后可能会保留明显的重复。该工具正在避免做出风险更大的决定:更改大小写或忽略选定的字段可能会合并仅看起来相关的记录。查看源代码,选择您实际想要的标准化,然后在编辑后重新运行精确删除。
精确匹配比较什么 - 每个字段和每个字符,包括不可见的字符,例如不间断空格和杂散 BOM 字节
每行接收一个由其所有单元格构建的标识。该实现将它们与不合法的 CSV 文本的空字符连接起来,避免了包含逗号的一个单元格与两个单独的单元格冲突的常见错误。跳过第二个相同的身份;第一行保持不变。
概要提到了不可见的不间断空格和杂散 BOM 字节,就好像它们都受到特殊处理一样。当您选择 Trim 时,JavaScript 修剪可以删除周围的 Unicode 空格,但解析器的显式 BOM 规则仅在文件的开头去除 U+FEFF。它不会扫描每个单元格中的任意隐藏字节。
精确比较涵盖完整的单元格字符串;仅特意删除前导文件BOM
顺序很重要。修剪空格会删除每个单元格中的前导空格和尾随空格,而折叠空格也会将内部空格变成一个普通空格。在重复删除之前应用任一行都可以使之前不同的行相等。首先运行删除会保留两者,因为它们的原始字符串不同。
面板不会暴露大小写折叠、Windows-1252 修复或 Unicode 标准化。尽管底层库具有不区分大小写比较的选项,但路由会调用默认的精确函数。因此,声称该页面标准化了大小写或编码将超出访问者实际可以使用的控件。
首先修剪或折叠空白;该面板不会规范大小写或旧编码
整行相等与识别一个客户不同。共享一封电子邮件但带有不同时间戳的两行都被保留,因为至少有一个单元格不同。该库可以比较选定的列,但发布的重复页面不会公开关键列选择器,因此它无法裁定该对。
这是一个有价值的边界,而不是一个缺失的魔术。选择最新记录、合并字段或将别名视为一个人需要业务规则,并且通常需要审计跟踪。导出这些冲突以供审查或使用目标系统记录的合并工作流程,而不是将它们伪装成完全相同的重复项。
顺序和生存 - 删除重复项时保留哪个副本,以及为什么这对“上次更新”数据很重要
当出现完全相同的重复项时,第一个出现的项将保留,而后续的副本将被删除。幸存的行保持其原始顺序。如果稍后出现较新的版本,但即使在一个字段上有所不同,它也不是重复的,而是保留下来;如果在单元级别逐字节相等,则保留任一副本都会产生相同的数据。
当行顺序记录单元格外部的出处时,第一个复制规则在操作上仍然很重要。清洁前保持出口不受影响,并在每次操作后检查计数。 ToolAcre 的撤消堆栈在当前选项卡中保留二十个转换,但如果会话关闭,下载的原始文件将是持久的参考。
工作示例 - 具有接近重复项的联系人导出,经过标准化,以便精确的重复数据删除捕获它们,并列出仍需要人工审核的行
使用 Ada@example.com 构建一个小型测试,Ada 在一行中,第二行中有两个完全相同的单元格,第三行中是 ada@example.com 加上 Ada,后跟一个空格。精确删除仅删除第二行。然后,修剪会删除尾随空格,但小写电子邮件仍保持第三行不同。
这一结果将机械确定性与人类判断区分开来。如果您的系统中已知地址不区分大小写,请在其他地方应用该规则并记录下来。清理者的证据更简单:它可以证明相同的行数组被减少到第一次出现,而不会改变保留的值。
这不包括什么 - 模糊匹配、拼写错误容忍和合并冲突记录
模糊名称、拼写错误容忍、语音匹配和冲突合并不在此操作范围内。它不认识到“罗伯特”和“鲍勃”可能指的是一个人,也不会对两个地址的相似性进行评分。这些技术可能会产生误报,并且需要在平面导出中不可用的上下文。
键列重复数据删除。文章应该描述读者可以使用的路线,而不是无法控制的潜在参数。对于身份解析,选择专门构建的审核流程,其中匹配证据和幸存者规则可见。
重复数据删除效果与之前的规范化一样好 — ToolAcre CSV Cleaner 的重复删除在编码和标头修复后如何适应
ToolAcre 的可靠序列是检查、标准化所选的空白,然后删除精确的重复。编码修复和自动标头修复并不是隐藏的预备阶段。解析器删除前导 UTF-8 BOM,检测分隔符并报告结构问题;它不会重新解释损坏的字符编码。
删除后,比较行数并在下载前预览幸存者。事实证明,消失的东西在当时存在的弦下的每个细胞中都是相同的。剩下的可能包括合法的近似重复项,保留这些不确定的记录比根据假设默默合并客户数据更安全。