Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
TSV
Wie CSV, nur mit Tabulatoren getrennt — womit das Problem des Kommas im Feldinhalt gar nicht erst entsteht.
TSV
TSV ist ein reines Textformat, das sich in jedem Editor öffnen lässt. Eingesetzt wird es für den Austausch zwischen Programmen.
Die Endung lautet .tsv, der volle Name Tab-Separated Values. Beides sagt weniger aus als das, was die Datei halten kann — und davon handelt der Rest dieser Seite.
Es geht auf 1993 zurück. Die Spezifikation ist IANA text/tab-separated-values.
Einem Format, das so lange lesbar geblieben ist, kann man etwas anvertrauen, das man in zehn Jahren wiederhaben will.
Sie ist vollständig veröffentlicht, das Format lässt sich also aus dem Dokument umsetzen statt durch Nachsehen. Deshalb taucht es in so vielen Programmen auf, und deshalb gehen Dateien von vor zwanzig Jahren heute noch auf. Veröffentlicht heißt allerdings nicht lizenzfrei: Wo ein Format einen Codec einpackt, ist die Patentfrage eine eigene, die der Standard nicht mitbeantwortet.
TSV speichert seinen Inhalt exakt. Erneutes Speichern ändert nichts, es lässt sich also beliebig oft öffnen, bearbeiten und wieder ablegen, ohne dass sich Schaden ansammelt — genau das macht es zu einem Arbeitsformat und nicht zu einem Ausgabeformat.
TSV hat keine Kommentarsyntax. Alles Erklärende muss außerhalb der Datei leben — gut zu wissen, bevor man sie für etwas wählt, das ein Mensch von Hand pflegt.
Microsoft Excel, LibreOffice Calc und pandas lesen es, und die meisten Programme derselben Art ebenfalls.
Wenn eine Datei nicht aufgeht, liegt es selten am Format — häufiger daran, dass das Programm älter ist als das Format. Die Umwandlung in etwas Älteres ist der verlässliche Weg daran vorbei, und dafür gibt es den Rest dieser Website.
Kein Browser liest es.
Das ist der häufigste Grund, es umzuwandeln: nicht dass das Format schlecht wäre, sondern dass die Stelle, an der die Datei erscheinen soll, es nicht lesen kann.
TSV ist zum Öffnen und Ändern gedacht. Behalte die Datei in diesem Format, solange die Arbeit läuft, und exportiere daraus, wann immer eine fertige Fassung gebraucht wird.
Die wiederkehrenden Klagen: Spaltentypen werden beim Einlesen geraten statt angegeben.
Nichts davon ist ein Grund, das Format zu meiden. Es sind die Dinge, die man kennen sollte, bevor eines davon einen überrascht — das ist eine andere und eine nützlichere Behauptung.
Ein Komma taucht in echten Daten ständig auf — in Adressen, Firmennamen, Produktbeschreibungen, jedem Fließtext. CSV löst das mit Anführungszeichen-Regeln, und genau dort geht das Format am häufigsten kaputt: ein Anführungszeichen innerhalb eines mit Komma gefüllten, in Anführungszeichen stehenden Felds ist zulässig, unangenehm zu lesen und wird von der Hälfte der Werkzeuge, die CSV zu verstehen behaupten, unterschiedlich gehandhabt.
Ein Tabulatorzeichen taucht dagegen so gut wie nie in einem Feld auf, weil niemand einen Tab in ein Formular oder eine Datenbank tippt. TSV kann deshalb meist ganz ohne Anführungszeichen auskommen: jede Zeile am Tab teilen ergibt die Felder, korrekt, ohne Zustandsautomat und ohne Sonderfall. Das ist das ganze Argument, und bei unaufgeräumten echten Daten ist es ein starkes.
Deutsches Excel verwendet das Komma als Dezimaltrennzeichen, folglich benutzt die deutsche Version standardmäßig das Semikolon als CSV-Trennzeichen — eine amerikanische CSV-Datei mit Komma-Trennung öffnet sich in deutschem Excel oft in einer einzigen Spalte, weil die Ländereinstellung ein anderes Zeichen erwartet. Wer Dateien zwischen deutschen und internationalen Kollegen austauscht, kennt diesen Moment.
TSV umgeht das Problem strukturell: Der Tabulator ist von keiner Ländereinstellung abhängig und wird von jeder Excel-Version, ob deutsch oder englisch, gleich interpretiert. Für einen Datenaustausch, bei dem beide Enden unterschiedliche Office-Sprachversionen verwenden, ist das ein handfester Vorteil, den die reine Trennzeichen-Debatte selten erwähnt.
Bioinformatik, wo genomische Annotationsdateien, Expressionsmatrizen und Variantentabellen selbstverständlich tabgetrennt sind. Arbeit auf der Kommandozeile, weil die klassischen Unix-Werkzeuge auf Leerraum splitten und eine tabgetrennte Datei dort ein Bürger erster Klasse ist, was eine mit Anführungszeichen versehene CSV nicht ist.
Dazu große öffentliche Datensätze und Datenbankexporte, deren Inhalt Kommas und Fließtext enthält und deren Exportwerkzeug sich die Anführungszeichen-Logik ersparen wollte. Wer eine .tsv- oder .tab-Datei erhalten hat, stammt aus einer dieser Welten.
Der Vorzug des Tabs ist zugleich sein Nachteil: Man sieht ihn nicht. Eine Datei mit einem Tab an einer Stelle und vier Leerzeichen an einer anderen sieht im Editor identisch aus und wird völlig unterschiedlich geparst, und ein Wert mit einem angehängten Tab ist von einem ohne nicht zu unterscheiden.
Das schlägt am härtesten zu, wenn eine Datei von Hand bearbeitet oder von einem Skript zusammengesetzt wird, das irgendwo Leerzeichen statt Tabs verwendet hat. Jeder ordentliche Editor kann Leerraumzeichen sichtbar machen, und das vor der Arbeit an einer TSV einzuschalten ist eine Zwei-Sekunden-Gewohnheit, die eine Stunde Verwirrung erspart.
Die IANA-Spezifikation ist unnachgiebig: Felder dürfen keine Tabs oder Zeilenumbrüche enthalten, Punkt. Es gibt keinen Escape-Mechanismus, und genau das hält das Parsen einfach.
In der Praxis haben sich zwei Konventionen etabliert: Manche Erzeuger maskieren mit Backslash-Sequenzen nach C-Vorbild, andere setzen CSV-artige Anführungszeichen darüber — was genau das Problem zurückbringt, das TSV vermeiden sollte. Keine der beiden ist universell, weshalb eine Datei mit eingebetteten Tabs ihren Leser genau auf den Erzeuger abstimmen muss. Enthalten die eigenen Daten wirklich Tabs oder Zeilenumbrüche, ist CSV mit sauberer Anführungszeichen-Regel die ehrlichere Wahl.
Excel öffnet eine .txt- oder .tsv-Datei über den Importdialog korrekt mit Tab-Trennung, während ein Doppelklick auf .tsv je nach Dateizuordnung etwas weniger Hilfreiches tut. Zugleich wendet Excel dieselbe Typerkennung an, die auch CSV-Dateien ruiniert — führende Nullen verschwinden, Codes werden zu Datumswerten, lange Kennnummern verlieren Genauigkeit.
Der Rat ist deshalb derselbe wie bei CSV: importieren statt öffnen, die heiklen Spalten auf Text setzen, und wenn die Empfängerin oder der Empfänger ein Mensch statt ein Programm ist, gleich XLSX verschicken und die ganze Ratesituation vermeiden.
TSV lässt sich streamen, das ist der andere stille Vorteil. Eine Datei beliebiger Größe kann Zeile für Zeile gelesen werden, ohne sie komplett zu laden, sodass ein mehrere Gigabyte großer Export handhabbar bleibt, wo die entsprechende Tabellenkalkulation es nicht mehr ist.
Für wirklich große, wiederholt ausgewertete Daten ist Parquet das bessere Ziel: spaltenorientiert, komprimiert, typisiert und deutlich schneller bei den Abfragen, die man tatsächlich stellt. TSV ist das richtige Format für den Austausch und das falsche für einen Datensatz, den man hundertmal liest.
| Endung | .tsv, .tab |
|---|---|
| Medientyp | text/tab-separated-values |
| Erstmals veröffentlicht | 1993 |
| Spezifikation | IANA text/tab-separated-values |
Jeder Texteditor zeigt sie an, und jede Tabellenkalkulation importiert sie — in Excel über Daten, dann Aus Text/CSV statt Doppelklick, damit sich die Spaltentypen setzen lassen. Leerraumanzeige im Editor lohnt sich, weil Tabs unsichtbar sind.
Das Trennzeichen, und was daraus folgt. Kommas kommen in echten Daten ständig vor, daher braucht CSV Anführungszeichen-Regeln, die Werkzeuge uneinheitlich umsetzen. Tabs kommen fast nie in Daten vor, daher kommt TSV meist ganz ohne Anführungszeichen aus — einfacheres Parsen, weniger Fehlschläge.
Ja, strukturell. Deutsches Excel erwartet in CSV standardmäßig ein Semikolon als Trennzeichen, weil das Komma für Dezimalzahlen reserviert ist — eine mit Komma getrennte CSV landet dann oft in einer Spalte. TSV ist von dieser Ländereinstellung unabhängig und öffnet in jeder Excel-Sprachversion gleich.
CSV, wenn die Datei irgendwohin geht, das man nicht kennt — es ist das, was Uploadformulare und Importroutinen dem Namen nach erwarten. TSV, wenn beide Enden unter eigener Kontrolle stehen, die Daten voller Kommas und Fließtext sind, oder die Arbeit auf der Kommandozeile passiert.
Die Spezifikation verbietet das, und es gibt keine Standard-Maskierung. Manche Erzeuger nutzen Backslash-Sequenzen, andere CSV-artige Anführungszeichen, keine davon universell. Enthalten Felder wirklich Tabs oder Zeilenumbrüche, ist CSV mit sauberer Anführungszeichen-Regel das ehrlichere Format.
Es lässt sich gut streamen, eine mehrere Gigabyte große Datei lässt sich zeilenweise lesen. Für einen wiederholt abgefragten Datensatz ist Parquet deutlich besser — spaltenorientiert, komprimiert und typisiert, mit erheblich schnelleren Lesezeiten.