CSV (Dateiformat)
Eine CSV-Datei ist eine Textdatei zur Speicherung oder zum Austausch einfach strukturierter Daten. Das Kürzel CSV steht dabei für Character Separated Values, Comma Separated Values oder Colon Separated Values, weil die einzelnen Werte durch ein spezielles Trennzeichen, beispielsweise das Komma oder Semikolon, getrennt werden. Ein allgemeiner Standard für das Dateiformat existiert nicht.
In CSV-Dateien können Tabellen oder eine Liste unterschiedlich langer Listen abgebildet werden. Kompliziertere, beispielsweise geschachtelte Datenstrukturen können durch zusätzliche Regeln oder in verketteten CSV-Dateien gespeichert werden. Um sie in einer Datei abzuspeichern, eignen sich jedoch andere Formate wie XML besser.
Als Trennzeichen sind neben Komma auch Semikolon, Doppelpunkt, Tabulator (TSV-Datei) und andere Zeichen üblich.
Einzelne Datensätze werden in der Regel durch einen Zeilenumbruch (bei Windows: CR LF = carriage return, line feed; bei Unix: nur LF; bei Mac OS: nur CR) getrennt.
Besonderheiten
- Das Trennzeichen selbst und der Zeilenumbruch sollte nicht in den Datenelementen vorkommen. Um die Eindeutigkeit zu gewährleisten, muss es im Datenelement besonders gekennzeichnet werden, beispielsweise durch
- Voranstellen eines Markierungszeichens wie "\"
- Setzen von Anführungszeichen um das Datenelement. Ist ein Anführungszeichen selbst Teil des Datenelements, so wird es verdoppelt.
- Anderweitige Kodierung wie bei Sonderzeichen
- Die erste Zeile ist oft noch kein Datensatz, sondern enthält die Spaltennamen der Tabelle.
- Unter Windows sind die Dateiendungen .txt und .csv üblich.
- Jede Zeile sollte lautf RFC 4180, Absatz 2, Punkt 4 die gleiche Anzahl Spalten enthalten - dies wird aber nicht immer eingehalten.
Fallstricke
Neben dem genannten Problem des Feldtrennzeichens in Datenelementen gibt es beim Datenaustausch über Textdateien häufig Schwierigkeiten mit der Kodierung von Zeichen, die nicht Teil des ASCII-Zeichensatzes sind, beispielsweise Umlaute. Es muss daher sichergestellt sein, dass
- in der CSV-Datei eine Kodierung verwendet wird, die alle Zeichen enthält und
- im Zielsystem alle enthaltenen Zeichen zulässig sind.
Eine weitere Fehlerquelle sind Datenformate innerhalb der Felder, beispielsweise
- bei Zahlen die Trennzeichen für Tausender- und Dezimalstellen
- Datumsformate
Die Konvertierung einer CSV-Datei oder das Ersetzen von Zeichen kann mit jedem guten Texteditor erfolgen.
Anwendungen
- Das CSV-Dateiformat wird oft benutzt, um Daten zwischen unterschiedlichen Computerprogrammen auszutauschen, beispielsweise Datenbanktabellen.
- Tabellenkalkulationsprogramme wie Microsoft Excel oder OpenOffice.org Calc können CSV-Dateien üblicherweise einlesen und auch exportieren.
- Für die direkte Bearbeitung von CSV-Dateien eignet sich Awk oder CSVed unter Windows.
- MS Outlook benutzt CSV-Dateien für seinen Kalender
- Für die Wikipedia lassen sich CSV-Dateien mit csv2wp oder mit Wikipedia:Helferlein/EXCEL Tabellenumwandlung aufbereiten. Siehe: Hilfe:Tabellen
Beispiel
Die CSV-Datei mit dem Trennzeichen ";"
Stunde;Montag;Dienstag;Mittwoch;Donnerstag;Freitag 1;Mathe;Deutsch;Englisch;Mathe;Kunst 2;Sport;Französisch;Geschichte;Sport;Geschichte 3;Sport;"Religion ev;kath";Kunst;Deutsch;Kunst
repräsentiert diese Tabelle:
Stunde | Montag | Dienstag | Mittwoch | Donnerstag | Freitag |
---|---|---|---|---|---|
1 | Mathe | Deutsch | Englisch | Mathe | Kunst |
2 | Sport | Französisch | Geschichte | Sport | Geschichte |
3 | Sport | Religion ev;kath | Kunst | Deutsch | Kunst |
In diesem Beispiel werden die Anführungszeichen verwendet, um das Semikolon zwischen ev und kath in der letzten Zeile als Text zu kennzeichnen. Das 3. Element dieser Zeile lautet also Religion ev;kath.
Weitere Beispiele für CSV-Dateien
- Die Passwortdatei "/etc/passwd" der UNIX-Benutzerverwaltung ist eine CSV-Datei mit dem Trennzeichen ":".