--- title: 准备您的 CSV 文件 description: 完整的分步指南,指导您将数据格式化以导入 Twenty。 --- ## 概览 本指南将引导您准备 CSV 文件,以成功完成导入。 请按照以下步骤操作以避免错误。 ## 步骤 1:检查文件要求 开始之前,请确保您的文件满足以下要求: | 要求 | 详情 | | -------- | ----------------- | | **格式** | CSV、XLSX 或 XLS | | **大小限制** | 每个文件最多 10,000 条记录 | | **编码** | 建议使用 UTF-8 | | **结构** | 每个文件仅一种对象类型 | 对于超过 10,000 条记录的数据集,请拆分为多个文件,或使用[API 导入](/l/zh/user-guide/data-migration/how-tos/import-data-via-api)。 ## 步骤 2:下载示例文件 **这是最重要的一步。** 示例文件展示了 Twenty 期望的准确列名和格式。 1. 进入对象视图(人员、公司等) 2. 点击 **⋮** → **导入记录** 3. 点击 **下载示例文件** 4. 将此文件用作模板 **专业提示:** 改为导出少量现有记录。 这将为您提供数据应如何格式化的真实示例,并且在导入过程中列名会自动映射。 ## 步骤 3:移除重复值 Twenty 会对某些字段强制唯一性。 重复项会导致导入错误。 | 对象 | 唯一字段 | | --------- | ------------------ | | **人员** | `id`, `email` | | **公司** | `id`, `domain` | | **自定义对象** | `id`,以及任何您标记为唯一的字段 | **导入之前:** 1. 按唯一字段(email 或 domain)对电子表格排序 2. 删除或合并重复的行 3. 检查 Twenty 中是否已存在重复项 **软删除的记录计入唯一性。** 位于“命令菜单 → 查看已删除的记录”中的记录会导致重复错误。 请永久删除这些记录,或将其恢复并更新。 ## 步骤 4:正确格式化各字段类型 不同的字段类型需要特定格式。 以下是完整参考: ### 文本字段 * 无需特殊格式 * 首尾空格将自动去除 ### 电子邮件字段 * 必须是有效的电子邮件格式:`name@domain.com` * 必须唯一(文件内及 Twenty 中不得重复) * 对于附加电子邮件,请在 **Emails / Additional Emails** 列中使用此格式: ``` ["jane@twenty.com","jane.doe@twenty.com"] ``` ### 域名字段 * **推荐格式**:`https://domain.com` * 这与邮箱/日历同步所使用的格式一致(可防止重复) * 填写这两列: * **Domain / Domain Label**:`domain.com` * **Domain / Domain URL**:`https://domain.com` * 在您的文件内以及在 Twenty 中必须唯一 ### 电话字段 电话是一个**嵌套字段**,需要多列: | 列 | 示例 | | --------------------------------------- | ------------ | | **Phones / Primary Phone Number** | `4159095555` | | **Phones / Primary Phone Country Code** | `US` | | **电话 / 主电话号码国际区号** | `+1` | ### 地址字段 地址是一个**嵌套字段**,包含多个列(有些可以留空): * **Address / Address 1**:街道地址第 1 行 * **Address / Address 2**:街道地址第 2 行(可选) * **Address / City**:城市名称 * **Address / State**:州或省 * **Address / Country**:国家名称 * **Address / Post Code**:邮政/ZIP 编码 ### 日期字段 在整个文件中使用一致的格式: * `YYYY-MM-DD`(推荐):`2024-03-15` * ISO 8601:`2024-03-15T10:30:00Z` ### 数字字段 * 仅数字(无文本) * 小数使用点号:`1234.56` * 不使用千位分隔符(不要写成 `1,234.56`) ### 货币字段 货币是一个**嵌套字段**,需要两列,且**两列都必须填写**: | 列 | 示例 | | --------------------- | --------- | | **Amount / Amount** | `1234.56` | | **Amount / Currency** | `USD` | ### 布尔字段 使用大写:`TRUE` 或 `FALSE` 小写的 `true` 或 `false` 将无法使用。 ### 选择字段 使用选项的**API 名称**,而不是显示标签。 **如何查找 API 名称:** 1. 进入 **设置 → 数据模型** 2. 选择对象和字段 3. 启用**高级模式**(右下角切换) 4. 复制该 API 名称(例如:`OPTION_1`,而不是 "Option 1") 新的选择项不会自动创建。 请在导入前于 **设置 → 数据模型** 中添加它们。 ### 多选字段 以数组格式使用 API 名称: ``` ["VALUE1","VALUE2"] ``` ### 数组字段 使用 JSON 数组格式: ``` ["value1","value2"] ``` ### 评分字段 使用以下格式:`RATING_1`、`RATING_2`、`RATING_3`、`RATING_4` 或 `RATING_5` ### 链接/URL 字段 填写两列: * **Links / Link Label**:`Twenty` * **Links / Link URL**:`https://twenty.com` 对于次要链接,请使用 **Links / Secondary Links** 列: ``` [{"url":"https://twenty.com","label":"Twenty"}] ``` ### JSON 字段 使用有效的 JSON 格式: ``` {"key":"value","key2":"value2"} ``` ### ID 字段 * **可选**:如未提供,Twenty 将自动生成 ID * **格式**:UUID(例如:`c776ee49-f608-4a77-8cc8-6fe96ae1e43f`) * **使用场景**:包含 ID 以更新现有记录,而不是创建新记录 ## 步骤 5:添加关系列(如果要关联记录) 要将记录关联到其他对象(例如,将人员关联到公司),请添加包含关联记录唯一标识符的列。 **示例**:将人员关联到公司 在您的人员 CSV 中添加一列: ``` firstName,lastName,email,companyDomain John,Smith,john@acme.com,https://acme.com Jane,Doe,jane@widgets.co,https://widgets.co ``` **关系的重要规则:** * 父记录必须已存在于 Twenty 中 * 使用**域名 URL** 格式(`https://domain.com`),而不是标签 * 仅映射一个唯一标识符(不要同时包含 `companyId` 和 `companyDomain`) * 对于工作区成员,请使用其**电子邮箱**(而不是姓名) **导入顺序很重要!** 先导入“1”端,再导入“多”端: 1. **公司** 优先 2. **人员** 其次(包含公司引用) 3. **机会** 第三 在引用之前,父记录必须已存在。 详细说明请参见[如何导入关系](/l/zh/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)。 ## 步骤 6:确保 Twenty 中存在这些字段 导入会创建**记录**,而非**字段**。 要导入的所有字段必须已在您的数据模型中存在。 **导入前:** 1. 进入 **设置 → 数据模型** 2. 选择您的对象 3. 创建所需的任何自定义字段 4. 记录准确的字段名称(必须与列标题匹配) ## 步骤 7:最终检查清单 在上传文件之前,请确认: 文件为 CSV、XLSX 或 XLS 格式 文件少于 10,000 条记录 编码为 UTF-8 没有重复的电子邮箱(针对人员)或域名(针对公司) 日期在全篇使用一致的格式 域名使用 `https://domain.com` 格式 布尔字段使用 `TRUE` 或 `FALSE`(大写) 选择字段使用 API 名称,而非显示标签 所有自定义字段已存在于 设置 → 数据模型 中 父记录先于子记录导入 关系列引用现有记录 ## 常见错误及避免方法 | 错误 | 解决方案 | | ------------------- | ---------------------------- | | 使用 `true` 而非 `TRUE` | 布尔值必须为大写 | | 在选择字段中使用显示标签 | 在“设置”中查找并使用 API 名称 | | 在公司之前导入人员 | 始终先导入父对象 | | 货币字段缺少货币代码 | 填写金额和货币两列 | | 域名格式错误 | 始终使用 `https://domain.com` 格式 | | 为关系映射了多个唯一字段 | 仅映射一个(域名或 ID,不要同时映射) | ## 下一步 您的文件已准备就绪! 现在: * [导入公司](/l/zh/user-guide/data-migration/how-tos/import-companies-via-csv)(先导入这些) * [导入联系人](/l/zh/user-guide/data-migration/how-tos/import-contacts-via-csv) * [修复任何导入错误](/l/zh/user-guide/data-migration/how-tos/fix-import-errors)