Zum Inhalt springen
Convertube

CSV-Dateien: das Format ohne Typen, ohne Kodierung und ohne Gremium

Was eine CSV wirklich ist, warum dieselbe Datei in zwei Tabellenprogrammen anders aussieht und was die Anführungsregeln sagen. CSV umwandeln, ohne Upload.

Auf einen Blick

Typ
Dokumente
Dateiendungen
.csv
MIME-Typ
text/csv

Eine .csv-Datei ist eine Textdatei. Es gibt keinen Header, keine Version, keine Typinformationen und nichts Binäres – öffnen Sie eine im Editor, und Sie sehen jedes einzelne Byte. Jede Zeile ist ein Datensatz, und irgendetwas trennt die Felder. Das ist das gesamte Format, weshalb alles eine CSV schreiben kann und keine zwei Programme sich einig sind, was sie bedeutet.

Weiterlesen

Fünfundzwanzig Jahre lang gab es keine Spezifikation. RFC 4180 kam 2005 und ist ausdrücklich als Informational eingestuft, nicht als Standard – es beschreibt, was die meisten Implementierungen tun, statt jemandem vorzuschreiben, was er tun soll. Was es festlegt, sind die Anführungszeichen: Ein Feld, das das Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthält, wird in doppelte Anführungszeichen gesetzt, und ein Anführungszeichen innerhalb eines solchen Feldes wird doppelt geschrieben. Diese Regel entscheidet, ob „Widget, groß“ eine Zelle ist oder zwei, und genau diese Regel überspringen naive Parser.

Das Trennzeichen ist nicht zuverlässig ein Komma. Ein Tabellenprogramm in einem Gebietsschema, das Dezimalzahlen als 1,5 schreibt, kann das Komma nicht auch zum Trennen der Felder verwenden, also exportiert Excel dort Semikolons – auf demselben Rechner, aus demselben Menü, und heraus kommt eine Datei, die das Nachbarland nicht öffnen kann. Datenbankexporte verwenden oft Tabulatoren. Jedes Tool, das CSV gut liest, errät das Trennzeichen aus den ersten Zeilen, und genau das tut auch diese Website.

Es gibt auch keine Angabe der Kodierung, und hier gehen tatsächlich Daten verloren. Eine CSV mit chinesischen Namen, von einem Programm gespeichert und von einem anderen geöffnet, kommt als Zeichensalat zurück, weil das eine UTF-8 angenommen hat und das andere die System-Codepage. Und weil jedes Feld Text ohne Typ ist, rät ein Tabellenprogramm beim Import neu: Führende Nullen verschwinden aus Artikelnummern, lange Kennungen werden zu wissenschaftlicher Notation, und alles, was wie ein Datum aussieht, wird zu einem. Die Datei war in Ordnung; das Einlesen nicht.

CSV in andere Formate umwandeln

FAQ: CSV

Ist eine CSV nur eine Textdatei?

Ja, vollständig. Kein Container, keine Komprimierung, nichts Binäres. Jeder Texteditor öffnet sie, und was Sie sehen, ist das, was sie enthält.

Warum verwendet meine CSV Semikolons?

Weil sie in einem Gebietsschema exportiert wurde, in dem das Komma das Dezimaltrennzeichen ist, sodass es nicht auch die Felder trennen konnte. Es ist trotzdem eine CSV, und jedes brauchbare Leseprogramm erkennt das Trennzeichen, statt es anzunehmen.

Warum sind meine führenden Nullen verschwunden?

Weil CSV keine Typen speichert und das Tabellenprogramm geraten hat. „007“ sieht aus wie eine Zahl, also wurde daraus 7. Mit der Datei war nichts falsch – der Import hat entschieden. Die meisten Tabellenprogramme erlauben, eine Spalte beim Import als Text festzulegen, und das ist die einzige zuverlässige Lösung.

Warum ist mein chinesischer Text verstümmelt?

Weil die Datei keine Angabe zu ihrer Kodierung enthält und das öffnende Programm anders geraten hat als das schreibende. Speichern als UTF-8 mit Byte-Order-Mark sorgt dafür, dass Excel sie richtig liest – um den Preis einer Markierung, die manche anderen Tools als verirrte Zeichen anzeigen.

Kann ich hier eine CSV in PDF umwandeln?

Ja. Sie wird als CSV geparst, statt an Kommas zerlegt zu werden, sodass Felder in Anführungszeichen erhalten bleiben, und die Spalten werden an ihren Inhalt angepasst, mit fetter Kopfzeile. Das Ergebnis ist zum Lesen und Drucken gedacht – in einer PDF lässt sich nichts sortieren oder summieren.

Und die Umwandlung in Excel?

Nicht nötig: Jedes Tabellenprogramm öffnet eine CSV direkt, und eine vorherige Umwandlung fügt nur einen Schritt hinzu, in dem die Typen geraten werden. Die Umwandlung, die es hier gibt, geht in die andere Richtung – PDF in Excel, die aus einer Seite, die nie eine Tabelle festgehalten hat, eine Tabelle rekonstruiert.