CSV vs TSV: Welches Trennzeichenformat sollten Sie verwenden?
Schnelle Antwort
Verwenden Sie CSV für den allgemeinen Datenaustausch, den Import/Export von Tabellenkalkulationen und maximale Kompatibilität. Verwenden Sie TSV, wenn Ihre Daten Kommas, aber keine Tabulatoren enthalten, um Anführungszeichen und Escapezeichen für die Komplexität zu vermeiden. TSV ist in der Bioinformatik und im NLP üblich; CSV ist der universelle Standardwert für Tabellendaten.
Einführung
CSV (Comma-Separated Values) und TSV (Tab-Separated Values) sind zwei Klartextformate für Tabellendaten. Beide speichern Zeilen als Zeilen mit durch ein Trennzeichen getrennten Feldern. CSV verwendet Kommas; TSV verwendet Tabulatorzeichen. Die Wahl des Trennzeichens wirkt sich auf Escapezeichen, die Kompatibilität mit Tabellenkalkulations-Apps und die Handhabung von Textfeldern aus, die das Trennzeichen enthalten.
Schritt für Schritt
-
Vergleichen Sie Trennzeichen und Escapezeichen
CSV verwendet Kommas. Wenn ein Feld ein Komma enthält, muss es in Anführungszeichen gesetzt werden: „Smith, John“. Wenn ein Feld Anführungszeichen enthält, müssen diese mit Escapezeichen versehen werden: „Er sagte „Hallo““. TSV verwendet Tabulatoren. Tabulatoren erscheinen selten in Textdaten, daher benötigen TSV-Felder normalerweise keine Anführungszeichen oder Escapezeichen – einfacheres Parsen.
-
Vergleichen Sie die Kompatibilität
CSV wird universell unterstützt: Excel, Google Sheets=Sheets, jede Datenbank, jede Programmiersprache. TSV wird ebenfalls weitgehend unterstützt, ist jedoch weniger standardisiert – einige Tools interpretieren Tabulatoren anders. Excel erkennt beide automatisch, aber CSV ist das Standardexportformat.
-
Vergleichen Sie die Parsing-Komplexität
Das Parsen von CSV erfordert eine Zustandsmaschine zur Verarbeitung von Anführungszeichenregeln (RFC 4180). TSV Das Parsen ist trivial: Teilen Sie jede Zeile durch Tabulatorzeichen auf. Dadurch lässt sich TSV schneller analysieren und ist weniger fehleranfällig. Allerdings hat CSV eine formale Spezifikation (RFC 4180); TSV hat keinen formalen Standard.
-
Vergleichen Sie Anwendungsfälle
CSV: Import/Export von Tabellenkalkulationen, Daten APIs, ETL-Pipelines, Konfigurationsdateien, universeller Datenaustausch. TSV: Bioinformatik (BLAST, GFF), NLP (CoNLL-Format), Zwischenablagedaten (Kopie aus Excel = TSV), Protokolldateien mit Tabulatortrennzeichen.
-
Entscheiden Sie anhand Ihrer Daten
Wenn Ihre Daten Kommas enthalten (Namen, Adressen, Sätze): TSV vermeidet Anführungszeichen. Wenn Ihre Daten Tabulatoren enthalten (selten im Text): CSV vermeidet Anführungszeichen. Wenn Sie maximale Kompatibilität benötigen: CSV. Wenn Sie eine einfachere Analyse wünschen und Ihre Daten tabulatorfrei sind: TSV.
Beispiele
Gleiche Daten in CSV und TSV
Eingang: CSV: Name,Alter,Stadt\n"Smith, John",30,"New York, NY"\nTSV: Name\Tag\tStadt\nSmith, John\t30\tNew York, NY
Ausgabe: CSV erfordert Anführungszeichen für Felder mit Kommas. TSV benötigt keine Anführungszeichen, da in den Daten keine Tabulatoren vorkommen.
Häufige Probleme
- CSV Randfälle für Anführungszeichen: Felder, die Kommas, Anführungszeichen oder Zeilenumbrüche enthalten, erfordern Anführungszeichenregeln gemäß RFC 4180 – eine naive Aufteilung durch Kommas führt zu Datenfehlern mit eingebetteten Kommas.
- TSV hat keinen formalen Standard: Im Gegensatz zu CSV (RFC 4180) hat TSV keine offizielle Spezifikation, daher können Tools Randfälle unterschiedlich behandeln – verwenden Sie TSV nur innerhalb kontrollierter Pipelines.
- Probleme mit der Excel-Kodierung: Excel exportiert möglicherweise CSV mit BOM oder gebietsschemaspezifischen Trennzeichen (Semikolon in EU-Gebietsschemas) – geben Sie die UTF-8-Kodierung an und überprüfen Sie das Trennzeichen beim Import.
- Mehrdeutigkeit bei Zeilenumbrüchen: CSV Felder mit eingebetteten Zeilenumbrüchen sind gültig, unterbrechen jedoch die zeilenweise Analyse. Bei TSV tritt dieses Problem selten auf, da Tabulatoren in Textdaten selten vorkommen.
Tipps
- Verwenden Sie CSV für maximale Kompatibilität – jede Tabellenkalkulation, Datenbank und Programmiersprache unterstützt es nativ.
- Verwenden Sie TSV, wenn Ihre Daten Kommas, aber keine Tabulatoren (Namen, Adressen, Sätze) enthalten, um eine vollständige Zitierung von Komplexität zu vermeiden.
- Verwenden Sie immer einen geeigneten CSV-Parser (nicht string.split), um die RFC 4180-Anführungszeichenregeln zu verarbeiten – naive Aufteilung beschädigt Felder mit eingebetteten Kommas oder Anführungszeichen.
- Beim Kopieren von Daten aus Excel in einen Texteditor verwendet die Zwischenablage das Format TSV – fügen Sie sie in eine .tsv-Datei ein, um Felder mit Kommas korrekt beizubehalten.