--- title: CSV ファイルを準備する description: Twenty へのインポート用にデータをフォーマットするための、完全なステップバイステップガイド。 --- ## 概要 このガイドは、インポートを成功させるための CSV ファイルの準備方法を順を追って説明します。 エラーを避けるために、次の手順に従ってください。 ## ステップ 1: ファイル要件を確認する 開始する前に、ファイルが次の要件を満たしていることを確認してください。 | 要件 | 詳細 | | ------------ | --------------------- | | **形式** | CSV、XLSX、または XLS | | **サイズ上限** | 1 ファイルあたり 10,000 レコード | | **エンコーディング** | UTF-8 推奨 | | **構造** | ファイルごとに 1 つのオブジェクトタイプ | 10,000 レコードを超えるデータセットは、複数のファイルに分割するか、[API インポート](/l/ja/user-guide/data-migration/how-tos/import-data-via-api)を使用してください。 ## ステップ 2: サンプルファイルをダウンロードする **これは最も重要なステップです。** サンプルファイルには、Twenty が想定する正確な列名と形式が示されています。 1. オブジェクトビュー(People、Companies など)に移動します。 2. 「**⋮**」→「**Import records**」をクリックします。 3. 「**Download sample file**」をクリックします。 4. このファイルをテンプレートとして使用してください。 **プロのヒント:** 代わりに、既存のレコードを少数エクスポートします。 これにより、データのあるべきフォーマットの実例が得られ、インポート時に列名が自動的にマッピングされます。 ## ステップ 3: 重複値を削除する Twenty は一部のフィールドに一意性を強制します。 重複はインポートエラーの原因になります。 | オブジェクト | 一意のフィールド | | -------------- | ------------------------ | | **People** | `id`, `email` | | **会社** | `id`, `domain` | | **カスタムオブジェクト** | `id` に加え、一意に設定した任意のフィールド | **インポート前に:** 1. スプレッドシートを一意フィールド(email または domain)で並べ替えます。 2. 重複行を削除または統合します。 3. Twenty に既に存在する重複がないか確認します。 **ソフト削除されたレコードも一意性の判定に含まれます。** Command Menu → See deleted records にあるレコードは重複エラーの原因になります。 それらを完全に削除するか、復元して更新してください。 ## ステップ 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` | | **Phones / Primary Phone Calling Code** | `+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` は不可) ### 通貨フィールド 通貨は **2 列を要する入れ子のフィールド** で、**両方に入力が必要** です: | 列 | 例 | | --------------------- | --------- | | **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: リレーション列を追加(レコードをリンクする場合) レコードを他のオブジェクトにリンクするには(例: People を Companies にリンク)、関連レコードの一意の識別子を含む列を追加します。 **例**: People を Companies にリンク People の 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`)を使用してください * 一意の識別子は 1 つだけマッピングしてください(`companyId` と `companyDomain` を両方含めない) * ワークスペースメンバーには **メールアドレス**(氏名ではなく)を使用してください **インポート順序は重要です!** 「1」側を「多」側より先にインポートしてください: 1. **会社** を先に 2. **People** を 2 番目(会社参照付き) 3. **商談** を 3 番目に 参照する前に親レコードが存在している必要があります。 詳細な手順については、[リレーションをインポートする方法](/l/ja/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 である (People)では重複するメールがなく、(Companies)では重複するドメインがない 日付の形式が全体で統一されている ドメインが `https://domain.com` 形式である ブール値フィールドは `TRUE` または `FALSE`(大文字)を使用している 選択フィールドは表示ラベルではなく API 名を使用している すべてのカスタムフィールドが 設定 → データモデル に存在する 子レコードより先に親レコードをインポートしている リレーション列が既存レコードを参照している ## 避けるべき一般的なミス | 誤り | 解決策 | | -------------------------------- | --------------------------------------- | | `TRUE` の代わりに `true` を使用している | ブール値は大文字である必要があります | | 選択フィールドで表示ラベルを使用している | 設定で API 名を確認して使用する | | Companies より先に People をインポートしている | 常に親オブジェクトから先にインポートする | | 通貨フィールドで通貨コードが欠けている | Amount と Currency の両方の列を入力する | | ドメインの形式が誤っている | `https://domain.com` を一貫して使用する | | リレーションで複数の一意フィールドをマッピングしている | 1 つだけをマッピングする(domain か id のどちらかで、両方は不可) | ## 次のステップ ファイルの準備ができました! 次へ: * [会社をインポート](/l/ja/user-guide/data-migration/how-tos/import-companies-via-csv)(これを先にインポート) * [コンタクトをインポート](/l/ja/user-guide/data-migration/how-tos/import-contacts-via-csv) * [インポートエラーを修正](/l/ja/user-guide/data-migration/how-tos/fix-import-errors)