Neatbo.

联系人列不等于完整vCard

电话列是可编辑文本,联系人记录还包含重复属性、类型与组件列表。

原帖失败来自引号

原作者贴出德语分号联系人CSV及JSON列映射命令,自己的回答指出shell引号导致脚本收到无效JSON。联系人转换器解决迁移任务,而不修复该编程环境错误;原件中的客户号和末尾空列也需要明确保留。

重复电话是独立属性

把两个电话连接到单元格,无法保留不同TYPE或group。可编辑导出提供TEL_1/TEL_2列,精确参数在记录文件中;N和ADR保留有序组件及组件内多值。不要按标点切姓氏或猜地址。

按接收程序选择交付文件

contacts.csv是可编辑文本列,重复字段使用编号列。组件多值为便于编辑而连接展示;精确数组、全部参数与group仍保留在contacts.json和roundtrip.csv。用records映射重导roundtrip.csv可保真恢复;普通客户端CSV模板仍需按其字段映射。

默认将未映射CSV列和不支持的vCard属性完整写入报告,也可选择整体拒绝。NICKNAME、BDAY、ROLE、X属性与PHOTO保留在侧车及原件中,不进入核心迁移文件;不会获取头像或URL。

替换通讯录前先测试导入副本,不承诺所有客户端的私有CSV模板或不支持vCard属性均兼容。

按接收程序能使用的内容选择交付文件
交付文件保留内容交付前的操作
contacts.csv可编辑文本列;重复字段编号,组件多值连接展示。参数及 group 仍在记录文件中。对照接收客户端的 CSV 模板,并在导入前单独核对参数。
roundtrip.csv支持的核心属性的精确数组、参数及 group。用 records 映射重导;它不是普通客户端的 CSV 模板。
contacts.vcfCSV 转 vCard 模式下,支持的 vCard 3.0 属性及允许的参数;未知属性不进入核心迁移文件。替换通讯录前,先在接收客户端测试导入副本。
migration-report.json + source-original未映射/不支持数据侧车,以及实际输入的逐字节原件。与迁移文件一起保存;另行安排客户端不能导入的数据。
  • 将 TEL_1/TEL_2 作为独立号码列,再到 contacts.json 核对 TYPE 和 group,随后决定各号码在接收客户端中的字段。
  • 编辑列时保留 N/ADR 组件顺序;需要保留组件内多值时,使用 records 映射。
  • 先决定接收程序如何保留客户号及不支持字段;写入侧车并不等于这些数据会自动导入。

UTF-8折行必须保留完整字符

映射文本内的CRLF归一为LF;vCard输出采用CRLF,并按75个UTF-8字节折行,不切断字符。TEL中的反斜线/换行和URL中的空白/反斜线会拒绝。CSV空标量单元格省略该属性,records可以显式保留空值。

预览最多4,000个Unicode码点,复制和下载保留完整输出。整次运行10秒时限从引擎加载前开始,覆盖Worker就绪、文件读取和处理;取消会销毁Worker,可用保留的同一File和参数重跑。所有输入留在浏览器。

参考资料