你从某个应用导出了 CSV 文件,想把重复数据清理掉? 你把多个 CSV 文件合并成了一个大文件,现在需要清洗?也可能是你有多个数据源,它们已经不同步,需要把这些版本合并成一份统一列表。Microsoft Excel 或 Google Sheets 很难解决这个问题,因为它们不能像数据库一样在某一列上设置唯一约束。

小型 CSV 文件还可以手动处理。文件一大,逐条检查会花掉好几个小时,而且很容易出错。

你需要的是一个工具,可以根据一列或多列中的相似值,自动检测 CSV 条目中的重复项。 找到重复项之后,你就可以编辑它们,或合并重复项来整合数据,再删除多余记录。

合并 CSV 文件中的重复数据

Datablist 合并重复条目的示例
Datablist 合并重复条目的示例

Datablist 很适合处理电子表格做不了的数据操作。如果你需要一个好用的在线 CSV editor,可以直接用它。

在这篇指南里,我们会使用 2 个包含数千条记录的 CSV 文件。我们会把它们导入同一个 collection,然后基于 4 列中的 1 列来去重。CSV 去重同样适用于单个 CSV 文件。

要下载本教程的 CSV 文件:CSV File 1CSV File 2

CSV 文件包含 4 列:First NameLast NameEmailJob Title。我们的目标是合并使用同一 email 地址的记录。

合并重复数据的流程可以概括为:

  1. 把 CSV 文件导入 Datablist collection
  2. 选择用于重复检查的属性
  3. 自动合并没有冲突的重复项
  4. 手动合并剩余重复项

Step 1: 将 CSV 文件导入 Datablist collection

创建一个新的 collection

第一步是把 CSV 文件导入 Datablist。打开 Datablist(无需注册)即可开始。

要创建新的 collection,点击带 + 的 "New collection" 按钮。collection 创建完成后,给它设置名称和图标。

然后点击 Import CSV 按钮。

创建一个新的 collection

为 CSV 文件创建属性

CSV 文件加载后,你可以用 CSV 的列名为 collection 创建 properties。Datablist 会列出 CSV 中发现的每一列,你可以为每一列创建对应的 property。

CSV 数据本身没有类型。读取 CSV 文件时,所有内容默认都是文本。为了提供更好的筛选和排序功能,Datablist 会查看前 100 行来尝试识别数据类型。例如,如果某一列只包含数字,它会把该 property 的数据类型设置为 number。日期、email、checkbox(true 或 false 值)等也是同样的逻辑。

创建 collection properties

检查并导入

在检查步骤中,CSV 行会直接从 CSV 文件中列出。确认数据格式正确且保持一致。然后点击 "Import items" 按钮,就完成了!💪

检查、导入并上传第二个 CSV 文件

对其他 CSV 文件重复操作

现在你的 collection 已经配置好 properties,可以继续执行 "Import CSV/Excel" 流程,把其他 CSV 文件或 Excel 文件导入同一个 collection。

Step 2: 查找重复数据

CSV 文件导入后,第二步是查找重复值。在 collection 的数据列表中,点击右上角 "Clean" 菜单里的 "Duplicates Finder" 按钮。

Duplicates Finder
Duplicates Finder

这里有两种模式:

  • All Properties - 在这个模式下,Datablist 会查找所有 properties 值都相似的 items。只有当两个 items 的所有 properties 都匹配时,它们才会被视为相似。
  • Selected Properties - 在第二种模式下,你可以选择用于相似度检查的 properties。只要两个 items 在所有已选 properties 上具有相似值,就会被视为相似。

在这个例子中,email property 足以识别一个 contact,所以可以选择 Selected Properties 模式,并选择 email property。

分析完成后,Datablist 会根据 email property 列出所有重复 items。对于每个带有一个或多个重复项的 item,你可以:

  • 编辑 item - 使用不完整 items 中的值,把数据合并到同一个 item。
  • 合并重复项 - 把 secondary items 的值合并到选定的 primary item。
  • 删除多余 items - 如果重复项没有额外价值,直接删除即可。
查找并删除重复数据

Step 3: 自动合并并整合重复数据

通常,你会希望把 CSV 中的重复行合并成一个 item,并整合其中的数据。这样可以在不丢失信息的情况下完成重复数据合并。

Datablist 内置了自动合并算法,可以在不丢失数据的前提下处理大部分重复项。 对于剩下的重复行,也可以使用手动合并助手。

大型列表去重往往很耗时。Datablist Auto Merger 可以批量处理重复项,并在条件允许时自动完成合并。

Datablist 提供三种合并算法:Merging non-conflicting rowsCombining duplicate valuesDropping conflicting values。想了解更多细节,可以查看查找重复项文档

自动整合重复项
自动整合重复项

建议先运行 "Merge non conflicting duplicates" 算法,查看哪些 properties 存在冲突值。

存在冲突的 properties 列表
存在冲突的 properties 列表

合并无冲突的重复行

"Merge non-conflicting duplicates" 算法会执行一次 smart merge。它会把值相似或互补的 records 合并在一起。

例如,下面这些重复项:

email            |     First Name   |    Last Name
james@gmail.com  |     James
james@gmail.com  |                  |     Bond

会被合并为:

email            |     First Name   |    Last Name
james@gmail.com  |     James        |     Bond

合并重复值

当重复项里有冲突值,但你仍然想在不丢失数据的情况下合并它们时,Combining(或 consolidating)duplicate values 很适合使用。

例如,用 semi-colon 合并 Phone property:

email            |       Phone       |     First Name   |    Last Name    
james@gmail.com  |  +33 1 34 65 23   |      James       |                 
james@gmail.com  |  06 13 42 78 23   |                  |     Bond        

会被合并为:

email            |   Phone                         |     First Name   |    Last Name
james@gmail.com  |  +33 1 34 65 23;06 13 42 78 23  |     James        |     Bond    

任何包含文本的 property 都可以合并。可用分隔符包括 line breaksemi-coloncommaspace。合并过程中可以同时组合一个或多个 properties。

合并重复 items 并组合字段值,非常适合Lead 和 CRM 清洗。你可以合并所有重复 leads,并组合 PhoneEmailNotes properties,得到一份干净的列表。导出清洗后的 Lead CSV 后,再重新导入你的 CRM 即可。

删除冲突值

这个算法会保留 master item 中的值,并删除其他冲突值,从而把多个 leads 合并成一条记录。

Datablist 会选择数据最完整的 item 作为 master。

适合使用 drop conflicting values option 的场景包括:

  • 需要单一值的技术字段,例如 Account Id
  • 类型为 "Relation" 且不能有多个值的 properties,例如 Lead ownerAccount
  • 无法组合的非文本 properties,例如 Last ActivityContacted on 这类 datetime 字段,以及 checkboxes。

Step 4: 手动使用 Merging Assistant

Auto Merge 之后如果仍有重复项,可以使用 Merging Assistant。要合并重复项,点击每个 duplicates group 左侧的 "Manual Merging assistant" 按钮。

合并重复项
合并重复项

它会打开一个合并工具。右侧会显示 "Primary Item",左侧剩余的重复 items 称为 "Secondary Items"。 Datablist 会选择数据最完整的 item 作为 "Primary item"。

删除 CSV 中的重复行
删除 CSV 中的重复行

在条件允许时,secondary items 中的 property values 会被自动选中,并合并到 primary item。如果多个值存在冲突,你需要做出选择,决定保留哪个值。

如果最终得到的 "Primary item" 符合预期,点击 Merge 按钮确认合并。所有 secondary items 会被删除,只保留一个整合后的 item。

如有需要,导出为 CSV

现在,你已经成功完成 CSV 文件去重。如果需要在其他工具中使用结果,点击 "Export" 按钮,把 collection 导出为新的 CSV 文件。

CSV Export
CSV Export

FAQ

Datablist 还能做哪些数据处理?

CSV files 在软件应用和数据集中很常见,用来表示结构化数据。虽然 CSV 无处不在,但处理 CSV 并不轻松,而且经常需要一定技术知识。

简单处理时,电子表格就够了。但在以下场景中,它们会明显受限:

如果你有多个 CSV 文件,并希望用唯一列把它们连接在一起,请查看合并 CSV 文件指南。

Datablist 能处理大型 CSV 文件吗?

Datablist 可以处理最多 150 万行的 CSV 文件。Datablist 不只是用来打开 CSV 文件,它也适合编辑 CSV。对于更大的文件,如果只是查看,可以使用 analytics 方案。如果要编辑大型 CSV 文件,Datablist 仍然是很好的选择之一。

去重算法比 Microsoft Excel 和 Google Sheets 的 remove duplicates 功能更好吗?

电子表格工具(Microsoft ExcelGoogle Sheets)都有去重工具。它们的工作方式通常是删除相似行。对于业务场景,简单删除行并不理想。

Datablist 的去重算法会合并重复 records。先进行 smart merging,再组合字段值,最后还可以通过选择 master record 的方式来合并 records。


如有任何问题,请联系我们