分類セットファイル形式

分類セットでは、分類データのアップロードに複数のファイル形式をサポートしています。 各形式には、正常なデータアップロードに必要な特定の要件があります。

これらの仕様に従ってファイルが適切にフォーマットされたら、分類セットインターフェイスまたは API を使用してデータをアップロードできます。 アップロード手順について詳しくは、以下を参照してください。

分類セットは、次のファイル形式をサポートしています。

  • JSON:構造化データを含むJavaScript Object Notation ファイル
  • CSV:コンマ区切り値ファイル
  • TSV/TAB:タブ区切り値ファイル

一般的なファイル要件

すべてのファイル形式は、次の要件に従う必要があります。

  • ファイルエンコーディング:バイトオーダーマークを付けずに UTF-8 を使用します。 Latin1 エンコーディングもサポートされています。
  • 文字制限:個々の分類の値の上限は 255 バイトです。
  • キーの要件: キー値を空にしたり、空白のみを含めたりすることはできません。 重複したキーが存在する場合は、最後に発生したものが使用されます。
JSON 形式の詳細

JSON ファイル形式は、JSON 行(JSONL)の規則に従います。 ファイルには、1 行に 1 つの JSON オブジェクトが含まれている必要があります。各オブジェクトは、1 つの分類レコードを表します。

note note
NOTE
JSON 行は次の規則に従いますが、すべてのアップロードに .json ファイル拡張子を使用します。 .jsonl 拡張機能を使用すると、エラーが発生する場合があります。

JSON 構造

各 JSON オブジェクトには、以下を含める必要があります。

  • key (必須):分類レコードの一意の ID

  • data (更新に必要):分類列名とその値を含むオブジェクト

  • action (任意):実行するアクション。 次の値がサポートされています。

    • update (デフォルト)
    • delete-field
    • delete-key
  • enc (任意):データエンコーディングの仕様。 次の値がサポートされています。

    • utf8 または UTF8 (デフォルト)
    • latin1 またはLATIN1

すべての JSON フィールド名(keydataactionenc)は大文字と小文字が区別され、小文字にする必要があります。

JSON の例

基本更新レコード:

code language-json
{"key": "product123", "data": {"Product Name": "Basketball Shoes", "Brand": "Brand A", "Category": "Sports"}}

指定されたエンコーディングで更新:

code language-json
{"key": "product456", "enc": "utf8", "data": {"Product Name": "Running Shoes", "Brand": "Brand B"}}

特定のフィールドを削除:

code language-json
{"key": "product789", "action": "delete-field", "data": {"Brand": null, "Category": null}}

キー全体を削除:

code language-json
{"key": "product999", "action": "delete-key"}

JSON 検証ルール

  • key フィールドは必須です。null または空白にすることはできません。
  • update アクションの場合、「data」フィールドは必須であり、空白にすることはできません。
  • delete-field アクションの場合、削除するフィールドが data フィールドに含まれている必要があります。
  • delete-key のアクションの場合、「data」フィールドは存在できません。
  • サポートされているエンコーディング値は、大文字と小文字を区別せず、標準の文字セット名を含みます。
CSV 形式の詳細

CSV (Comma-Separated Values)ファイルでは、分類データフィールドを区切るためにコンマを使用します。

CSV 構造

  • ヘッダー行:最初の行には列ヘッダーが含まれ、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります
  • データ行:各行に分類データが含まれます
  • 区切り文字:フィールドはコンマで区切られます
  • 引用符:コンマ、引用符、改行を含むフィールドは、二重引用符で囲む必要があります

CSV サンプル

基本分類データ:

code language-csv
Key,Product Name,Brand,Category,Price
product123,"Basketball Shoes",Brand A,Sports,89.99
product456,"Running Shoes",Brand B,Sports,79.99
product789,"Winter Jacket",Brand C,Clothing,149.99

キー全体を削除:

code language-csv
Key,Product Name,Brand,Category,Price
product999,~deletekey~,,,

特定のフィールドを削除する(更新と混在):

code language-csv
Key,Product Name,Brand,Category,Price
product123,"Updated Product Name",Brand A,Sports,89.99
product456,,~empty~,~empty~,79.99

CSV 形式ルール

  • コンマを含むフィールドは、二重引用符で囲む必要があります。
  • 二重引用符を含むフィールドは、そのフィールドを二重にエスケープする必要があります("")。
  • 空のフィールドは、その分類の null 値を表します。
  • フィールドの先頭と末尾のスペースは、自動的に削除されます。
  • 引用されたフィールド内の特殊文字(タブ、改行)は保持されます。

削除操作:

  • 任意のフィールドで ~deletekey~ を使用すると、キー全体とそのすべての分類データを削除できます
  • 特定のフィールドの ~empty~ を使用して、それらの分類値のみを削除します(他のフィールドはそのまま残します)
  • ~empty~ を使用する場合、同じファイル内の削除と更新を混在させることができます
TSV および TAB 形式の詳細

TSV (タブ区切り値)および TAB ファイルでは、タブ文字を使用して分類データフィールドを区切ります。

TSV とタブ構造

  • ヘッダー行:最初の行には列ヘッダーが含まれ、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります。
  • データ行:各行に分類データが含まれます。
  • 区切り文字:フィールドはタブ文字(\t)で区切られます。
  • 引用符:通常、引用符は必要ありませんが、一部の実装では引用符で囲まれたフィールドをサポートしています。

TSV と TAB の例

基本分類データ:

code language-tsv
Key    Product Name    Brand    Category    Price
product123    Basketball Shoes    Brand A    Sports    89.99
product456    Running Shoes    Brand B    Sports    79.99
product789    Winter Jacket    Brand C    Clothing    149.99

キー全体を削除:

code language-tsv
Key    Product Name    Brand    Category    Price
product999    ~deletekey~

特定のフィールドを削除する(更新と混在):

code language-tsv
Key    Product Name    Brand    Category    Price
product123    Updated Product Name    Brand A    Sports    89.99
product456        ~empty~    ~empty~    79.99

TSV/タブ形式ルール

  • フィールドは、単一のタブ文字で区切られます。
  • 空のフィールド(連続するタブ)は null 値を表します。
  • 特別な引用は通常必要ありません。
  • 先頭と末尾のスペースは保持されます。
  • フィールド内の改行文字は避ける必要があります。

削除操作:

  • 任意のフィールドで ~deletekey~ を使用すると、キー全体とそのすべての分類データを削除できます。
  • 特定のフィールドの ~empty~ を使用して、それらの分類値のみを削除します(他のフィールドはそのまま残します)。
  • ~empty~ を使用する場合、同じファイル内で削除と更新を混在させることができます。

エラー処理

アップロードに関するよくある問題と解決策:

一般的なファイル形式エラー

  • 無効なファイル形式:ファイル拡張子がコンテンツ形式(.json.csv.tsv または .tab)と一致することを確認します。
  • 不明なヘッダー:列名は、分類セットスキーマと一致する必要があります(すべての形式に適用)。

CSV および TSV 固有のエラー

  • 最初の列はキーである必要があります:CSV または TSV ファイルに、最初にキー列を含む適切なヘッダー行があることを確認します。
  • 少なくとも 2 つのヘッダー項目が必要です:CSV または TSV ファイルには、少なくとも Key つの列と 1 つの分類列が必要です。
  • 最初のヘッダー列は「キー」と呼ぶ必要があります:最初の列ヘッダーは正確に Key である必要があります(大文字 K、大文字と小文字を区別)。
  • 空白のヘッダーは使用できません:すべての CSV/TSV 列ヘッダーには名前が必要です。
  • 列数がヘッダーと一致しませんでした:各 CSV または TSV データ行には、ヘッダー行と同じ数のフィールドが必要です。
  • 「形式が正しくないドキュメント:CSV 引用、TSV ファイルでの適切なタブ分離などを確認してください。

JSON 固有のエラー

  • キーは必須フィールドです:すべての JSON レコードには、空でない "key" フィールドを含める必要があります(小文字、大文字と小文字を区別)。
  • action=update を使用する場合、データは必須フィールドです:JSON の更新アクションには、"data" フィールドを含める必要があります。
  • action=delete-field を使用する場合、データは必須フィールドです:JSON の delete-field アクションでは、削除するフィールドを "data" フィールドで指定する必要があります。
  • action=delete-key を使用する場合、データは存在しません: JSON の delete-key アクションに "data" フィールドを含めることはできません。
  • サポートされていないエンコーディング:"enc" フィールドで、サポートされているエンコーディング値(utf8UTF8latin1LATIN1)のみを使用します。
  • 無効な JSON 構文:JSON ファイルが JSONL 規則に従って正しくフォーマットされていることを確認してください。 また、一般的な JSON 形式、引用符の欠落、コンマ、角括弧なども確認します。

サイズ制限エラー

  • キーが最大サイズを超えています:個々のキーは 255 バイトを超えることはできません。
  • 列の値が最大サイズを超えています:個々の分類の値は 255 バイトを超えることはできません。

ベストプラクティス

  • ファイルサイズ:ブラウザーおよび API アップロードの最大ファイルサイズは 50 MB です。
  • バッチ処理:大規模なデータセットの場合は、小さなファイルに分割することを検討してください。
  • データ検証:大きなデータセットをアップロードする前に、小さなサンプルファイルを使用してテストします。
  • バックアップ:ソースデータファイルのコピーを保持します。
  • 増分更新:個々のレコードの更新と削除を正確に制御するには、JSON 形式を使用します。
recommendation-more-help
46b8682c-fda6-4669-9355-1a44923e549e