CSV-Datei
aus Wikipedia, der freien Enzyklopädie
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 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.
Inhaltsverzeichnis |
[Bearbeiten] 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.
[Bearbeiten] 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.
[Bearbeiten] 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 oder 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
[Bearbeiten] 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.
Die Anwendungsmöglichkeiten des CSV-Formates sind begrenzt. Neben rechteckigen Tabellen lassen sich auch Listen unterschiedlich langer Listen abbilden. Beispiel Komma-separierter Listen:
1032365,7,34,21,2,12,1,5 1032366,12,1,0 1032367,17,2,2,2
Weitere Beispiele für CSV-Dateien
- Die Passwortdatei "/etc/passwd" der UNIX-Benutzerverwaltung ist eine CSV-Datei mit dem Trennzeichen ":".
[Bearbeiten] Weblinks
- RFC 4180 – RFC zur Spezifikation eines CSV-Standards.
- http://mindprod.com/products1.html#CSV - Java-Implementierung verschiedener CSV-Werkzeuge. Steht unter einer Public Domain Lizenz, die auch eine kommerzielle Nutzung bis auf den militärischen Bereich uneingeschränkt zulässt.
- http://ostermiller.org/utils/CSV.html – Eine unter der GPL stehende Java-Implementierung verschiedener CSV-Werkzeuge.
- http://cweiske.de/misc_classes.htm#CSVReader Weitere Java-Implementierung zum Lesen von CSV-Dateien (Achtung, Internet Explorer wird geblockt, Klasse akzeptiert nur Strings als Input, keinen Reader)
- http://csvdiff.sourceforge.net/ vergleichen von zwei CSV-Dateien (Csvdiff)