Files
twenty/packages/twenty-docs/l/zh/user-guide/data-migration/how-tos/prepare-your-csv-files.mdx
T
github-actions[bot] cd73088be6 i18n - docs translations (#19925)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2026-04-21 10:57:27 +02:00

268 lines
8.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 准备您的 CSV 文件
description: 完整的分步指南,指导您将数据格式化以导入 Twenty。
---
## 概览
本指南将引导您准备 CSV 文件,以成功完成导入。 请按照以下步骤操作以避免错误。
## 步骤 1:检查文件要求
开始之前,请确保您的文件满足以下要求:
| 要求 | 详情 |
| -------- | ----------------- |
| **格式** | CSV、XLSX 或 XLS |
| **大小限制** | 每个文件最多 10,000 条记录 |
| **编码** | 建议使用 UTF-8 |
| **结构** | 每个文件仅一种对象类型 |
<Note>对于超过 10,000 条记录的数据集,请拆分为多个文件,或使用[API 导入](/l/zh/user-guide/data-migration/how-tos/import-data-via-api)。</Note>
## 步骤 2:下载示例文件
**这是最重要的一步。** 示例文件展示了 Twenty 期望的准确列名和格式。
1. 进入对象视图(人员、公司等)
2. 点击 **⋮** → **导入记录**
3. 点击 **下载示例文件**
4. 将此文件用作模板
<Note>**专业提示:** 改为导出少量现有记录。 这将为您提供数据应如何格式化的真实示例,并且在导入过程中列名会自动映射。</Note>
## 步骤 3:移除重复值
Twenty 会对某些字段强制唯一性。 重复项会导致导入错误。
| 对象 | 唯一字段 |
| --------- | ------------------ |
| **人员** | `id`, `email` |
| **公司** | `id`, `domain` |
| **自定义对象** | `id`,以及任何您标记为唯一的字段 |
**导入之前:**
1. 按唯一字段(email 或 domain)对电子表格排序
2. 删除或合并重复的行
3. 检查 Twenty 中是否已存在重复项
<Warning>**软删除的记录计入唯一性。** 位于“命令菜单 → 查看已删除的记录”中的记录会导致重复错误。 请永久删除这些记录,或将其恢复并更新。</Warning>
## 步骤 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`
<Warning>小写的 `true` 或 `false` 将无法使用。</Warning>
### 选择字段
使用选项的**API 名称**,而不是显示标签。
**如何查找 API 名称:**
1. 进入 **设置 → 数据模型**
2. 选择对象和字段
3. 启用**高级模式**(右下角切换)
4. 复制该 API 名称(例如:`OPTION_1`,而不是 "Option 1"
<Note>新的选择项不会自动创建。 请在导入前于 **设置 → 数据模型** 中添加它们。</Note>
### 多选字段
以数组格式使用 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`
* 对于工作区成员,请使用其**电子邮箱**(而不是姓名)
<Warning>
**导入顺序很重要!**
先导入“1”端,再导入“多”端:
1. **公司** 优先
2. **人员** 其次(包含公司引用)
3. **机会** 第三
在引用之前,父记录必须已存在。
</Warning>
详细说明请参见[如何导入关系](/l/zh/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)。
## 步骤 6:确保 Twenty 中存在这些字段
导入会创建**记录**,而非**字段**。 要导入的所有字段必须已在您的数据模型中存在。
**导入前:**
1. 进入 **设置 → 数据模型**
2. 选择您的对象
3. 创建所需的任何自定义字段
4. 记录准确的字段名称(必须与列标题匹配)
## 步骤 7:最终检查清单
在上传文件之前,请确认:
<Check>文件为 CSV、XLSX 或 XLS 格式</Check>
<Check>文件少于 10,000 条记录</Check>
<Check>编码为 UTF-8</Check>
<Check>没有重复的电子邮箱(针对人员)或域名(针对公司)</Check>
<Check>日期在全篇使用一致的格式</Check>
<Check>域名使用 `https://domain.com` 格式</Check>
<Check>布尔字段使用 `TRUE` 或 `FALSE`(大写)</Check>
<Check>选择字段使用 API 名称,而非显示标签</Check>
<Check>所有自定义字段已存在于 设置 → 数据模型 中</Check>
<Check>父记录先于子记录导入</Check>
<Check>关系列引用现有记录</Check>
## 常见错误及避免方法
| 错误 | 解决方案 |
| ------------------- | ---------------------------- |
| 使用 `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)