Filformat för klassificeringsuppsättning
Klassificeringsuppsättningar har stöd för flera filformat för massöverföring av klassificeringsdata. Varje format har specifika krav för slutförda dataöverföringar.
När filen är korrekt formaterad enligt dessa specifikationer kan du överföra den via gränssnittet Klassificeringsuppsättningar eller API:t. Detaljerade överföringsanvisningar:
- Webbläsaröverföring: Se Schema
- API-överföring: Se API för analysklassificeringar
Klassificeringsuppsättningar har stöd för följande filformat:
- JSON: JavaScript Object Notation-filer med strukturerade data
- CSV: Kommaavgränsade värdefiler
- TSV/TAB: Tabbseparerade värdefiler
Allmänna filkrav
Alla filformat måste uppfylla följande krav:
- Filkodning: Använd UTF-8 utan byteordningsmärken. Latin1-kodning stöds också.
- Teckengränser: Enskilda klassificeringsvärden har en maxgräns på 255 byte.
- Nyckelkrav: Nyckelvärden får inte vara tomma eller bara innehålla blanksteg. Om det finns dubblettnycklar används den sista förekomsten.
JSON-filformatet följer konventioner för JSON-rader (JSONL). Filen måste innehålla ett JSON-objekt per rad, där varje objekt representerar en enda klassificeringspost.
| note note |
|---|
| NOTE |
Trots följande konventioner för JSON-rader använder du filtillägget .json för alla överföringar. Användning av tillägget .jsonl kan orsaka fel. |
JSON-struktur
Varje JSON-objekt måste innehålla:
-
key(obligatoriskt): Unik identifierare för klassificeringsposten -
data(krävs för uppdateringar): Ett objekt som innehåller klassificeringskolumnnamn och deras värden -
action(valfritt): Den åtgärd som ska utföras. Följande värden stöds:update(standard)delete-fielddelete-key
-
enc(valfritt): Datakodningsspecifikation. Följande värden stöds:utf8ellerUTF8(standard)latin1ellerLATIN1
Alla JSON-fältnamn (key, data, action, enc) är skiftlägeskänsliga och måste skrivas med gemener.
JSON-exempel
Grundläggande uppdateringspost:
| code language-json |
|---|
|
Uppdatering med angiven kodning:
| code language-json |
|---|
|
Ta bort specifika fält:
| code language-json |
|---|
|
Ta bort hela nyckeln:
| code language-json |
|---|
|
JSON-valideringsregler
- Fältet
keyär obligatoriskt och får inte vara null eller tomt. - För
update-åtgärder är fältetdataobligatoriskt och får inte vara tomt. - För
delete-field-åtgärder måste fältetdatainnehålla de fält som ska tas bort. - Fältet
delete-keyfår inte finnas fördata-åtgärder. - Kodningsvärden som stöds är inte skiftlägeskänsliga och innehåller standardnamn på teckenuppsättningar.
CSV-filer (kommaseparerade värden) avgränsar klassificeringsdatafält med kommatecken.
CSV-struktur
- Rubrikrad: Den första raden måste innehålla kolumnrubriker och den första kolumnen måste vara nyckelkolumn. Efterföljande kolumner ska matcha namn i ditt klassificeringsschema
- Datarader: Varje efterföljande rad innehåller klassificeringsdata
- Avgränsare: Fält avgränsas med kommatecken
- Citat: Fält som innehåller kommatecken, citattecken eller radmatningar ska omslutas av citattecken
CSV-exempel
Grundläggande klassificeringsdata:
| code language-csv |
|---|
|
Ta bort hela nyckeln:
| code language-csv |
|---|
|
Ta bort specifika fält (blandat med uppdateringar):
| code language-csv |
|---|
|
CSV-formateringsregler
- Fält som innehåller kommatecken måste omslutas av citattecken
- Fält som innehåller dubbla citattecken måste escape-citattecken genom att dubblera dem (
"") - Tomma fält representerar null-värden för den klassificeringen
- Radavstånd och avslutande blanksteg runt fält trimmas automatiskt
- Specialtecken (tabbar, nya rader) i citattecken bevaras
Ta bort åtgärder:
- Använd
~deletekey~i alla fält för att ta bort hela nyckeln och alla dess klassificeringsdata - Använd
~empty~i specifika fält om du bara vill ta bort dessa klassificeringsvärden (övriga fält förblir oförändrade) - När du använder
~empty~kan du blanda borttagningar med uppdateringar i samma fil
I TSV- (Tab-Separated Values) och TABB-filer används tabbtecken för att skilja klassificeringsdatafält åt.
Struktur för TSV/TAB
- Rubrikrad: Den första raden måste innehålla kolumnrubriker och den första kolumnen måste vara nyckelkolumn. Efterföljande kolumner ska matcha namn i ditt klassificeringsschema
- Datarader: Varje efterföljande rad innehåller klassificeringsdata
- Avgränsare: Fält avgränsas med tabbtecken (
\t) - Citat: I allmänhet behövs ingen offert, men vissa implementeringar stöder citattecken
Exempel på TSV/TAB
Grundläggande klassificeringsdata:
| code language-tsv |
|---|
|
Ta bort hela nyckeln:
| code language-tsv |
|---|
|
Ta bort specifika fält (blandat med uppdateringar):
| code language-tsv |
|---|
|
Formateringsregler för TSV/TAB
- Fält avgränsas med enkla tabbtecken
- Tomma fält (sammanhängande flikar) representerar null-värden
- Normalt krävs ingen specialoffert
- Radavstånd och avslutande blanksteg bevaras
- Radmatningstecken i fält bör undvikas
Ta bort åtgärder:
- Använd
~deletekey~i alla fält för att ta bort hela nyckeln och alla dess klassificeringsdata - Använd
~empty~i specifika fält om du bara vill ta bort dessa klassificeringsvärden (övriga fält förblir oförändrade) - När du använder
~empty~kan du blanda borttagningar med uppdateringar i samma fil
Felhantering
Vanliga problem och lösningar vid överföring:
Allmänna filformatsfel
- Ogiltigt filformat: Kontrollera att filtillägget matchar innehållsformatet (.json, .csv, .tsv eller .tab).
- "Okänt huvud": Kolumnnamn måste matcha klassificeringsmängdens schema (gäller för alla format).
CSV/TSV-specifika fel
- "Första kolumnen måste vara nyckeln": Kontrollera att CSV/TSV-filen har en korrekt rubrikrad med nyckelkolumnen först.
- "Minst två rubrikobjekt krävs": CSV-/TSV-filer måste ha minst en nyckelkolumn och en klassificeringskolumn.
- "Den första huvudkolumnen måste heta Key": Den första kolumnrubriken måste vara exakt Key (versalt K, skiftlägeskänsligt).
- "Tomma rubriker tillåts inte": Alla CSV-/TSV-kolumnrubriker måste ha namn.
- "Antalet kolumner matchade inte rubrikerna": Varje CSV/TSV-datarad måste ha samma antal fält som rubrikraden.
- "Felaktigt dokument": Kontrollera CSV-citering, rätt tabbseparation i TSV-filer osv.
JSON-specifika fel
- "Key is a required field": All JSON records must have a non-empty
"key"field (lowercase, case-sensitive). - "Data är ett obligatoriskt fält när action=update används": JSON-uppdateringsåtgärder måste innehålla ett
"data"-fält. - "Data är ett obligatoriskt fält när åtgärd=delete-field" används: JSON delete-field-åtgärder måste ange vilka fält som ska tas bort i fältet
"data". - "Data får inte finnas när action=delete-key" används: JSON delete-key-åtgärder kan inte innehålla ett
"data"-fält. - "Kodning som inte stöds": Använd bara kodningsvärden som stöds i fältet
"enc"(utf8, UTF8, latin1, LATIN1). - Ogiltig JSON-syntax: Kontrollera att JSON-filen är korrekt formaterad enligt JSONL-konventioner. Kontrollera också om det finns allmän JSON-formatering, saknade citattecken, kommatecken, hakparenteser osv.
Storleksbegränsningsfel
- "Nyckeln överskrider maxstorleken": Enskilda nycklar får inte överskrida 255 byte.
- "Kolumnvärdet överskrider maxstorleken": Enskilda klassificeringsvärden får inte överskrida 255 byte.
Bästa praxis
- Filstorlek: 50 MB är den maximala filstorleken för webbläsaröverföringar och API-överföringar.
- Gruppbearbetning: För stora datauppsättningar bör du dela upp dem i mindre filer.
- Dataverifiering: Testa med en liten exempelfil innan du överför stora datamängder.
- Säkerhetskopiera: Behåll kopior av dina källdatafiler.
- Inkrementella uppdateringar: Använd JSON-format för att få exakt kontroll över uppdateringar och borttagningar av enskilda poster.