用明确的列与字段规则迁移联系人
选择原件、CSV 分隔符及明确列映射,核对重复属性与有序组件,并保存原件、可编辑表和保真重导文件。
选择实际原件
粘贴文本或选择一个不超过2 MiB的UTF-8 CSV/vCard文件。文件优先于粘贴内容。文件名最多512个UTF-8字节,MIME标签最多256字节;开头的一个UTF-8 BOM会记录并从解析内容移除。
显式选择逗号、分号或制表符。CSV最多128列、联系人最多10,000条;按从0开始的物理列序号映射,空表头和重复表头同样计列。CSV单元格和解码组件各最多65,536个UTF-8字节,映射JSON最多32 KiB。
映射姓名与重复字段
每条映射指定column及property;N与ADR需component序号,分别依次为姓/名/附加名/前缀/后缀,以及邮政信箱/扩展/街道/城市/地区/邮编/国家。ORG第0组件为组织,后续为部门。用occurrence表示重复字段,types设置TYPE,group设置属性组。records单元格是{type,params,values}数组;每个核心字段使用一条records映射。
不会从无关列猜FN。仅在明确选择名+姓或姓+名规则后,且没有FN值时,连接已映射N组件。
[{"column":0,"property":"N","component":1},{"column":1,"property":"N","component":0},{"column":2,"property":"ORG","component":0},{"column":3,"property":"TEL","types":["HOME","VOICE"]},{"column":4,"property":"TEL","occurrence":2,"types":["CELL","VOICE"]},{"column":5,"property":"ADR","component":6,"types":["HOME"]}]核对每项交付
默认将未映射CSV列和不支持的vCard属性完整写入报告,也可选择整体拒绝。NICKNAME、BDAY、ROLE、X属性与PHOTO保留在侧车及原件中,不进入核心迁移文件;不会获取头像或URL。
contacts.csv是可编辑文本列,重复字段使用编号列。组件多值为便于编辑而连接展示;精确数组、全部参数与group仍保留在contacts.json和roundtrip.csv。用records映射重导roundtrip.csv可保真恢复;普通客户端CSV模板仍需按其字段映射。
| 文件 | 用途 |
|---|---|
| contacts.vcf / contacts.csv | 核心迁移文件 |
| contacts.json | 所有重复字段、组件数组、参数与group |
| roundtrip.csv | 每核心字段一列记录数组;records映射保真重导 |
| migration-report.json | 参数、文件身份和完整不支持/未映射侧车 |
| source-original.csv / source-original.vcf | 实际输入的逐字节原件 |
- 导入可编辑 CSV 前,将 FN 与按顺序展开的 N/ADR 组件逐项对照原件。
- 在 contacts.json 中核对每个重复 TEL/EMAIL 的 TYPE 和 group;编号 CSV 列本身不携带这些参数。
- 查看 migration-report.json 中未映射列及不支持属性,并保留 source-original 与 roundtrip.csv 以便恢复。
从拒绝中恢复
核心属性合计最多100,000项、每位联系人最多250项,组件多值和组织组件各最多128项,vCard非空逻辑行最多150,000行。可编辑导出最多256列,所有交付文件合计最多16 MiB。超限整体拒绝,不返回部分联系人。
映射文本内的CRLF归一为LF;vCard输出采用CRLF,并按75个UTF-8字节折行,不切断字符。TEL中的反斜线/换行和URL中的空白/反斜线会拒绝。CSV空标量单元格省略该属性,records可以显式保留空值。
预览最多4,000个Unicode码点,复制和下载保留完整输出。整次运行10秒时限从引擎加载前开始,覆盖Worker就绪、文件读取和处理;取消会销毁Worker,可用保留的同一File和参数重跑。所有输入留在浏览器。
修正映射/编码或减少超限记录后,用保留的原文件重跑。取消不保留部分输出。
参考资料
- 实际CSV转vCard脚本问题
复现原帖分号CSV。作者后续指出脚本失败来自shell JSON引号丢失;本工具不修复其编程环境。
- vCard3.0规范
本迁移所用 vCard 3.0 字段的格式参考。
- 目录文本折行与内容行
目录内容行与折行的格式参考。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
CSV与vCard联系人迁移本地映射联系人列,保留重复字段和结构值,导出可编辑CSV或UTF-8 vCard 3.0及完整侧车报告。
迁移前选择方向、分隔符和明确的姓名及列规则。
操作步骤
- 选择原件与转换方向。
- 映射物理列并明确选择FN姓名规则。
- 转换,核对侧车警告及全部交付文件。
- 在接收程序中导入副本并检查重复字段。
可调选项
- 转换方向
- CSV → vCard · vCard → CSV
- CSV分隔符
- 逗号 · 分号 · 制表符
- 列映射JSON
- [{"column":0,"property":"N","component":1},{"column":1,"property":"N","component":0},{"column":2,"property":"ORG","component":0},{"column":3,"property":"TEL","types":["HOME","VOICE"]},{"column":4,"property":"TEL","occurrence":2,"types":["CELL","VOICE"]},{"column":5,"property":"ADR","component":6,"types":["HOME"]}]
从0开始的列序号;支持FN/N/TEL/EMAIL/ORG/TITLE/ADR/URL/NOTE,可映射文本、组件列表或完整records。
- 合成缺少的完整姓名
- 要求映射FN · 名 + 姓 · 姓 + 名
- 不支持或未映射的字段
- 完整保留到报告 · 整体拒绝
能力与限制
- 粘贴文本或选择一个不超过2 MiB的UTF-8 CSV/vCard文件。文件优先于粘贴内容。文件名最多512个UTF-8字节,MIME标签最多256字节;开头的一个UTF-8 BOM会记录并从解析内容移除。
- 仅支持vCard 3.0核心字段FN、N、TEL、EMAIL、ORG、TITLE、ADR、URL、NOTE;保留重复属性、结构组件多值、TYPE、LANGUAGE与group。要求非空FN和N属性;版本、编码/CHARSET参数、语法或必需姓名错误会整体拒绝。
- 显式选择逗号、分号或制表符。CSV最多128列、联系人最多10,000条;按从0开始的物理列序号映射,空表头和重复表头同样计列。CSV单元格和解码组件各最多65,536个UTF-8字节,映射JSON最多32 KiB。
- 核心属性合计最多100,000项、每位联系人最多250项,组件多值和组织组件各最多128项,vCard非空逻辑行最多150,000行。可编辑导出最多256列,所有交付文件合计最多16 MiB。超限整体拒绝,不返回部分联系人。
- 默认将未映射CSV列和不支持的vCard属性完整写入报告,也可选择整体拒绝。NICKNAME、BDAY、ROLE、X属性与PHOTO保留在侧车及原件中,不进入核心迁移文件;不会获取头像或URL。
- contacts.csv是可编辑文本列,重复字段使用编号列。组件多值为便于编辑而连接展示;精确数组、全部参数与group仍保留在contacts.json和roundtrip.csv。用records映射重导roundtrip.csv可保真恢复;普通客户端CSV模板仍需按其字段映射。
- 映射文本内的CRLF归一为LF;vCard输出采用CRLF,并按75个UTF-8字节折行,不切断字符。TEL中的反斜线/换行和URL中的空白/反斜线会拒绝。CSV空标量单元格省略该属性,records可以显式保留空值。
- 预览最多4,000个Unicode码点,复制和下载保留完整输出。整次运行10秒时限从引擎加载前开始,覆盖Worker就绪、文件读取和处理;取消会销毁Worker,可用保留的同一File和参数重跑。所有输入留在浏览器。