这是按“最近更新”来去重 Mac/iOS 联系人的最佳方法。原因很简单:
当你的 Apple 设备里有几百上千条重复联系人时,真正让人崩溃的并不只是“重复”本身——而是你要花大量时间去判断:到底哪一条才是最新、最准确的那条。
为了解决这个问题,我写了一个 Apple Script:它可以把 macOS 通讯录里的所有信息(包括隐藏的元数据)抓取出来,导出成 CSV,然后你就能免费完成去重。
接下来我会用 4 个步骤,演示我如何按“最近记录”来去重 MacBook 通讯录:
📘 关于本指南
- 完全不需要会写代码,也能按步骤做完
- 建议在 MacOS 上操作
Step 1 of How to Deduplicate iPhone Contacts Based on Recency
👉 下载这个 Apple Script 文件: contacts-deduplication-script-v2.scpt
🧠 理解 Script Editor
Script Editor 是 Mac 自带的自动化工具。我们用它来导出全部联系人信息,以及一些在普通导出 vCard 时通常拿不到的隐藏元数据,比如 “creation date(创建时间)” 和 “modification date(修改时间)”。这些字段正是按“最近更新”去重的关键。
脚本的工作原理
这个脚本本质上就是一个联系人导出器:它会把 Mac 的 Contacts 通讯录里每一条联系人的所有细节抓出来,并整理成桌面上的表格文件(CSV)。
运行后会发生这些事:
- 扫描整个联系人列表 — 脚本会遍历你在 Mac Contacts 里保存的所有联系人
- 抓取隐藏元数据 — 导出“creation date / modification date”等平时看不到的数据,让去重更可靠
- 提取所有联系人字段 — 姓名、电话、邮箱、生日、地址、备注,甚至包括代词(pronouns)和即时通讯信息等
- 按类型拆分电话和邮箱 — 不会把所有号码塞进一个字段,而是分别输出“work phone / home phone / mobile”等列;邮箱同理
- 生成结构清晰的 CSV 文件 — 最终保存为桌面上的 “contacts_detailed.csv”(实际文件名会带后缀)
下载脚本后(点这里获取),用 Script Editor 打开。
点击顶部菜单里的“Play”按钮运行脚本。
接着,接受系统弹窗提示,这样你就能看到导出进度。
❗️ 脚本通常会运行 30–50 秒,具体取决于你的联系人数量。
完成后,你会看到这条通知:
现在,你会在桌面(Desktop)看到一个 CSV 文件,名字类似 “contacts_detailed_XXXX.csv”。
第一步就完成了。
接下来我会带你用一个免费工具来去重联系人。
Step 2 of How to Deduplicate iPhone Contacts Based on Recency
打开 Datablist.com 并注册一个免费账号。
💡 Datablist 是什么?
Datablist 是一款 AI 驱动的 spreadsheet 应用,可以用来 deduplicate(去重)、clean(清洗)、enrich data(数据补全/增强),并自动化各种 workflow。你可以用 Datablist 来 对上千行数据运行 ChatGPT、使用 AI-agents、清洗 CRM、抓取任意网站数据、自动处理重复性工作、查找 business emails 等。
把你刚生成的 CSV 导入进来。
导入 CSV 时,一定要把每一列映射成正确的数据类型,否则后面去重容易不准。点击数据类型字段进行配置。
关键列推荐这样设置:
- 姓名列(First Name, Last Name)→ "Text"
- Phone Numbers → "Phone"
- Email Addresses → "Email"
- 日期(Creation Date, Modified Date)→ "Date"
- URL → “Url”
映射好某一列后,点击 “Save Property”。
不需要的列也可以通过这个开关跳过。
全部设置完成后,点击 “Continue”。
现在你就能在 Datablist 里看到(并且应该能认出来)你的联系人了 :)
Step 3 of How to Deduplicate iPhone Contacts Based on Recency
联系人导入完成后,就可以开始去重了:
点击顶部菜单的 "Clean",选择 "Duplicates Finder"。
选择你的唯一标识符(比如 "Email" 或 "Phone Number"),然后点击 “Next”。
接下来可以调整 3 个设置:
- Comparison algorithm — Datablist 需要多高的相似度才判定为重复。点击了解更多
- Processor — 先把数据标准化(format 统一),匹配会更准确
- Multiple value matching — 去重前用 ";" 拆分多值字段。例如 'habib@datablist.com;contact@datablist.com' 和 'habib@datablist.com' 会被视为匹配
设置好后点击 “Run duplicates check”。
Datablist 会列出所有重复项。下一步这样做:
点击 “Configure the Master Item selection rule”。
选择规则 “Highest Value on a Property”。
然后在 property 里选 "Creation Date" 或 "Modification Date"(下面有解释)。
最后点击图中高亮按钮刷新合并预览。
- 想保留“最早那条原始联系人记录”,选 Creation Date — 适合你确信最早建立的那条信息最完整、最准确
- 想保留“最近更新过的信息”,选 Modification Date — 适合你经常更新联系人信息(比如新号码、新邮箱)
对大多数人来说,Creation Date 通常更稳妥(更接近“保留你最初创建的联系人”)。
设置好之后,回到页面顶部。
点击 "Drop conflicting values on existing properties."。
然后点击 红色快捷按钮,一次性丢弃重复联系人里所有冲突字段。
这样就会只保留你选定的“更新/创建时间”那条记录的值,从而可以干净地删除重复项。
Conflicting properties settings for deduplicating Apple contacts.
❗️ 注意这一点
如果你选了 “Combine conflicting properties”,重复值会被合并到同一列里,导回 Apple Contacts 后会非常混乱,基本不可用,所以不要这么做。
Datablist 配置好冲突字段的处理方式后,点击 "Refresh Merging Preview"。
现在你可以预览 Datablist 即将进行的变更。
确认无误后,点击 "Auto merge duplicates when possible",开始自动合并去重。
如果你每一步都跟着做,最终会看到这样的提示:
Step 4 of How to Deduplicate iPhone Contacts Based on Recency
最后一步,我会演示如何把去重后的联系人从 Datablist 下载到 Mac,并重新导入到 Contacts 通讯录。
开始吧!
❗️ 先删除旧联系人
记得先把旧联系人删掉,否则导回去还会重复。用 “Command + A” 全选联系人,然后按 “delete” 删除。
先在 Datablist 里把 collection 重命名一下,方便下载时识别。
接下来,我们要把日期列隐藏起来,因为导入 Mac Contacts 时这些列不可识别,也就无法导入。操作方法:点击 "Creation Date" 列的表头,选择 "Hide column";"Modification Date" 也同样隐藏。
点击顶部菜单的 “Export”,选择 “Export all items”。
再点击一次 “Export”,下载去重后的联系人文件。
打开 Mac 上的 Contacts 应用,进入 “File” 并点击 “Import”。
选择你刚下载的文件,然后点击 “Open”。
然后映射字段(或保持默认映射),点击 "OK" 完成导入。
搞定!你已经成功免费在几分钟内完成 macOS 联系人去重。
结论:
虽然 Apple Contacts 本身没有提供“按最近时间智能去重”的原生功能,但通过 Script Editor 导出包含元数据的 CSV,再配合 Datablist 的智能 Duplicates Finder,任何人都能把 Apple 联系人去重并保留最新信息。
联系人去重 FAQ:常见问题解答
如何在 Mac 上自动删除重复联系人?
macOS 虽然有内置的重复联系人处理功能,但能力比较有限。更推荐用 Datablist 这类免费工具快速识别并合并重复联系人,且可以控制保留哪条记录。
清理 iPhone 重复联系人最快的方法是什么?
最快的方法是:先导出联系人 → 用去重工具清洗 → 再导入回去。整个流程一般 3–5 分钟,并且能最大限度避免丢失重要字段。
如何合并重复联系人且不丢数据?
先把联系人导出作为备份,然后使用像 Datablist 这样的去重工具,在合并时指定保留规则(例如保留最近修改的版本,或保留最初创建的版本),会更安全。
iPhone 和 Mac 为什么会出现重复联系人?
最常见原因包括:同步了多个邮箱账号、从备份恢复、从不同来源导入联系人、手动创建时没检查是否已存在。多设备同步也会更容易产生重复。
我应该多久检查一次重复联系人?
建议每 3–6 个月检查一次,尤其是你经常新增联系人,或同时在多个设备/账号之间同步通讯录时。
重复联系人会影响设备性能吗?
会。大量重复联系人可能拖慢通讯录搜索、增加存储占用,并引发跨设备同步问题。






























