从一家服务商导出通讯录,再到另一家导入联系人,看上去已经完成了迁移。直到检查结果时,你才发现姓名和主要邮箱都在,但第二个电话号码、邮寄地址、升职前的职位,以及你在 2021 年记下的介绍人信息都不见了,而且系统没有提醒。
问题可能出在文件格式,也可能出在导入功能本身。CSV 无法传递没有对应可识别列的数据。即使用了能容纳更多信息的格式,如果接收系统只读取部分字段,其他内容仍然会丢失。
下面介绍不同格式能保留什么、迁移后该检查哪些内容,以及如何处理可能出现的重复联系人。
联系人不只是一行数据
电子表格的每个单元格通常只存一个值,而一个联系人可能包含:
- 多个邮箱地址,分别标为工作、个人或仍在转发邮件的旧地址。
- 多个电话号码,也各有自己的标签。
- 由多个部分组成的邮寄地址,而不只是一段文字。
- 随时间变化的公司和职位。
- 长度不固定的备注,其中可能有逗号和换行。
- 照片。
- 所属群组,同一个联系人可以加入多个群组。
要把这些信息放进表格,就必须决定每个重复字段是只保留第一个值,还是增加 email_2、email_3 这样的列。不同工具采用的约定并不一致。如果导出工具和导入工具不认可同一组列,迁移时就会遗漏信息。
这种遗漏可能没有任何提示。在导入工具看来,只要读完了所有认识的列,操作就算成功。不认识的列可能根本不会进入导入结果。
导入联系人时,vCard 和 CSV 有什么区别
| vCard (.vcf) | CSV | |
|---|---|---|
| 多个邮箱和电话号码 | 格式支持带标签的多个值;当前文件导入各读取一个 | 需要双方约定列名;当前导入也各读取一个值 |
| 分字段的邮寄地址 | 格式支持;文件导入时会合并成一段文字 | 通常合并为一段文字 |
| 照片 | 格式可以保存照片,但当前文件导入不读取照片 | 当前导入不支持照片 |
| 含逗号或换行的备注 | 正确转义后可以保留 | 正确使用引号后可以保留;格式错误可能导致列错位 |
| 群组 | 支持情况取决于版本和应用;当前文件导入不恢复群组成员关系 | 当前文件导入不恢复群组成员关系 |
| 用电子表格编辑 | 不适合普通表格编辑器 | 可以 |
| 通过文本比较修改 | 可以,但取决于字段的表示方式 | 可以;行顺序和引号可能影响比较 |
vCard 广泛用于交换联系人数据,其中一个版本由 RFC 6350 定义。它可以表示重复字段和复杂地址。不过,Google 通讯录、Outlook、Apple 通讯录和手机应用的不同版本可能提供不同的导出选项。文件中包含某个字段,并不代表导入工具一定会保存它。
为了保留原始通讯录,通常值得另存一份 vCard 导出文件。 批量导入前,先用几个联系人测试所需字段是否受支持。如果要用表格修改数据,或接收系统要求 CSV,就可以使用 CSV;不要仅凭文件扩展名判断信息能否完整迁移。
什么时候适合用 CSV 导入联系人
需要整理数据时,CSV 很方便。例如合并多个来源的名单并清理重复项、统一大小写、补充公司列,或移除自 2019 年起就没有联系过的人。这些操作往往更适合在电子表格中完成。
CSV 需要包含表头。列名不区分大小写,但具体写法很重要:下表中的不同写法并非都会以同样的方式被识别。
| 列名 | 对应联系人字段 | 是否必填 |
|---|---|---|
email 或 email_address | 主要邮箱;第二种写法通过表头匹配识别 | 是,必须是有效邮箱地址 |
name,或 first_name + last_name | 联系人姓名;分别导入名和姓时,需要将下划线改为空格 | 否 |
company 或 organization | 公司 | 否 |
job_title 或 title | 职位;第一种写法通过列名的部分匹配识别 | 否 |
phone | 电话号码 | 否 |
address | 合并为一段文字的邮寄地址 | 否 |
birthday 或 birth_date | YYYY-MM-DD 格式的日期;第二种列名需改为第一种,或改成用空格分隔的写法 | 否 |
notes | 备注 | 否 |
无法识别的列会被忽略。更新联系人时,空值不会清除已有字段。没有有效邮箱地址的行会被跳过,但文件结构错误或超出限额可能导致整次操作回滚。因此,处理大文件前,最好先用少量记录测试。
电子表格还有两个常见问题。以 + 或零开头的电话号码可能被当成数字,导致这些字符丢失。应在加载或输入数据前将列设为文本格式;已经被转换掉的字符不会因为保存文件而恢复。以 =、+ 或 - 开头的值也可能被当作公式。打开这类文件时要谨慎,尤其是不清楚来源的文件。
如果使用的工具提供导入预览,应检查记录数量、几个样例和验证提示。当前网页版邮箱的联系人导入会直接处理上传的文件,完成后才显示已处理和已跳过的数量,并没有导入前的预览。所以请先备份,再上传一份小文件测试。
导入已有联系人的通讯录时会发生什么
导入空通讯录并不复杂。更需要注意的是,新文件中的联系人和现有记录部分重叠。
某些工具会用导入记录完全替换已有联系人。表面上看没有问题,实际上却可能丢失数据:CSV 只有几个字段,而原来的联系人还包含手机号码、邮寄地址和多年积累的备注。替换后就只剩文件中的字段。
这里的导入会按邮箱地址匹配联系人,并更新受支持的非空字段;缺失或为空的字段保持不变。因此,可以补充公司信息,同时保留其他字段。不过,通过 CardDAV 接收的原始联系人卡片不会被这次导入重写,网页版邮箱和 CardDAV 客户端可能暂时显示不同的信息,需要分别核对。
无论使用哪种工具,都应确认它如何更新现有记录。能否恢复取决于备份和修改历史;如果都没有,丢失的字段可能无法找回。
重复联系人问题
通讯录用久了会出现重复项,导入也可能增加新的重复项。同一个人可能使用 anna@acme.com、a.smith@acme.com 和 anna.smith@gmail.com。这些地址都有效,但系统不一定知道它们属于同一个人。
自动匹配并不总能确认身份。姓名相同不能证明是同一个人。邮箱地址可以作为更新记录的匹配键,但同样不能证明身份,因为地址可能由多人共用,也可能交给另一位员工。合并前应确认实际使用者。
导入后,可以按姓名排序,逐一检查可能重复的记录。名单较大时,这项工作可能比预计耗时更久。人工核对地址、电话和相关背景有助于判断,但不能把任何相似之处都当作确凿证据。
更好的办法是提前减少差异。从来信创建联系人时,系统会使用发件人地址;手动输入则容易出错。统一添加方式有帮助,但仍应确认来信者是谁,以及应该保存哪个地址。
用同步代替反复导入
导入只生成一次副本。如果希望手机和网页版邮箱的通讯录持续保持一致,应使用 CardDAV 同步。
CardDAV 让客户端能够读取和修改服务器上的通讯录,作用有些类似于邮件使用的 IMAP。手机上添加的联系人会在成功同步后出现。它不一定立即完成,网络状况、应用的后台运行和刷新间隔都会影响同步时间。
macOS 和 iOS 上的 Apple 通讯录支持 CardDAV。Android 用户经常使用 DAVx⁵,Thunderbird 也内置支持。Outlook 通常需要第三方插件,具体兼容性取决于版本和所选客户端。
设置指南:macOS 上的 Apple 应用、iPhone 和 iPad、Android 与 DAVx⁵、Thunderbird。
同步可以减少手机和电脑上的副本长期不一致的风险,但仍可能遇到冲突、删除或配置错误。不要把同步当作备份导出的替代品。
通讯录迁移步骤
- 如果原服务商支持,先导出一份 vCard。 确认你使用的 Google 通讯录、Outlook 或 Apple 通讯录版本有哪些导出选项。必要时使用 CSV,同时另存原始数据。
- 打开文件,检查内容。 vCard 是文本文件。找一个信息较多的联系人,确认需要的字段确实已导出。
- 必要时用电子表格整理数据,但要考虑格式和导入工具的限制。完整的原始导出文件应单独保留。
- 用少量记录测试导入。 如果工具提供预览,仔细查看;在当前网页版邮箱中,应先备份,再上传文件并核对结果。
- 抽查导入结果。 打开之前检查过的复杂联系人,与原始记录比较,也检查已连接客户端中的显示。
- 人工检查可能的重复项,按姓名排序,并核对其他信息。
- 在设备上设置 CardDAV,减少反复导出的需要。确认双向同步正常工作。
- 在迁移核对期间,将原始文件存放在受保护的位置。 文件包含个人信息,应限制访问,并确定保留期限。
也可以通过 API 导入联系人;如果使用 MCP 服务器,应确认可用工具及其字段。文件导入不迁移群组成员关系。在 REST API 中,可以通过单独的操作管理群组和成员,适合从 CRM 数据构建通讯录。
常见问题
导入联系人应该选择哪种格式?
先保留完整的原始导出文件,条件允许时选择 vCard,再用几个联系人测试导入工具。vCard 可以存储复杂字段,但当前文件导入只读取部分信息,不迁移照片或群组。CSV 适合在表格中编辑,前提是正确匹配表头。
导入会覆盖现有联系人吗?
受支持的非空字段会更新邮箱地址相同的联系人,缺失和空字段不会清除已有值。不过,原始 CardDAV 卡片单独保存,不会被这次导入重写。请同时检查网页版邮箱和同步客户端的数据。
为什么电话号码导入后不对了?
表格编辑器可能把电话当成数字,去掉了开头的 + 或零。处理前应设为文本格式。如果字符已经丢失,应重新查看原始导出文件。vCard 有助于避免表格转换问题,但不会增加导入工具支持的字段。
没有邮箱地址的联系人能导入吗?
vCard 格式本身允许没有邮箱的联系人,但当前文件导入对 CSV 和 vCard 都要求有效邮箱地址,没有邮箱的记录会被跳过。独立 CardDAV 客户端的功能不能等同于文件上传功能。
怎样把联系人同步到手机?
如果需要持续使用,应在兼容的应用中设置 CardDAV,让客户端同步服务器通讯录。确认账户、同步方向和实际结果;同步仍可能出现延迟和冲突。
导入时会自动删除重复项吗?
导入按邮箱地址更新记录,并不会判断是否属于同一个人。共用地址或已转交他人的地址需要特别注意。姓名相同的联系人不会自动合并。大量导入后,应人工检查可能的重复项。
还能再次导出联系人吗?
可以导出为 CSV 或 vCard。导出保存的是当前功能支持的字段,不一定包含原始 CardDAV 卡片中的全部信息。大批量修改前,应保留合适的备份导出文件,并检查其内容。
联系人群组会怎样处理?
vCard 的群组支持取决于版本和应用,但当前文件导入不会从 vCard 或 CSV 恢复群组成员关系。在 REST API 中,可以单独设置群组和成员;使用 MCP 时,应确认是否提供相应工具。