DE  |  FR  |  IT

CSV

Allgemeine Informationen

Titel Comma-Separated Values; Colon-Separated Values; Character-Separated Values
Kategorie Strukturierte Daten
Abkürzung CSV
Dateiendung .txt, .csv
Mime Type text/CSV; text/comma-separated-values
Pronom PUID x-fmt/18
Version Ein allgemeiner Standard für das Dateiformat CSV existiert nicht.
Eine RFC-Spezifikation des Dateiformates CSV existiert und wird in der Regel referenziert: https://tools.ietf.org/html/rfc4180

    

Beschreibung

CSV-Daten sind tabellarisch strukturierte ASCII-Dateien. Die einzelnen Werte, Felder oder Spalten werden durch ein spezielles Trennzeichen, beispielsweise das Komma oder Semikolon, getrennt, Tabellenzeilen durch das Zeilenumbruchzeichen. Bei der Überführung einer relationalen Datenbank in CSV-Dateien wird jede einzelne Datenbanktabelle in eine CSV-Datei überführt.
In der Maskierung von Trennzeichen und Zeilenumbruch in den Feldern unterscheiden sich die verschiedenen Varianten und Quasi-Standards des CSV-Dateiformats.
Zwei CSV-Varianten sind im Datenbank-Bereich von besonderem Interesse:

  • Das Microsoft-Excel-CSV-Format zeichnet sich durch das Umschliessen der Felder mit Anführungszeichen und eine unterschiedliche Anzahl Felder pro Zeile aus. In der ersten Zeile können die Spaltennamen untergebracht sein. Das Excel-CSV-Format kann von vielen Datenbanken eingelesen werden.
  • Das SQL-Loader File von ORACLE fügt vor der CSV-Datei einen Header ein, in dem Feldbezeichnung, Feldformat, Zeichensatz etc. geregelt werden. Viele Datenbanken können SQL-Loader Files importieren oder generieren.

    

Bewertung

Offenheit: 4
Ein allgemeiner Standard für das Dateiformat CSV existiert nicht. Die in RFC 4180 weitgehend festgehaltene Spezifikation ist jedoch äusserst einfach.

Lizenzfreiheit: 4
Es bestehen keine lizenzrechtlichen Einschränkungen, wahrscheinlich auch nicht für Excel CSV-Format oder SQL-Loader File.

Verbreitung: 4
Für den Austausch von Daten zwischen Datenbanken und Tabellenkalkulationsprogrammen ist CSV das am häufigsten genutzten Format. Dementsprechend ist es weit verbreitet. Bei Webanwendungen werden hingegen XML und JSON bevorzugt.

Funktionalitaet: 2
CSV-Dateien sind so genannte flat files, das heisst, dass nur die textuelle Information einer Tabelle in einer Datei gespeichert werden kann. Sie eignen sich gut für die Speicherung von Listen.
Die meisten Datenbanksysteme verwenden aber zusätzlich hierarchische oder relationale Beziehungen, um die Verbindungen zwischen unterschiedlicher Information herzustellen. Um solche Beziehungsinformation ebenfalls in einem flat file abzubilden, müssen Informationen wiederholt werden. Es kommt zu Datenredundanz. Zudem lassen sich nur die eigentlichen Daten in CSV-Dateien speichern. Weder Feldformate noch Datenstruktur oder Formeln können übernommen werden.
Bei kleinen Datenbanken, wie sie oft in Verwaltungen auf kommunaler Ebene verwendet werden, sind häufig nur wenige Tabellen mit primitiven Datentypen vorhanden, die nicht untereinander in Beziehung stehen. In diesen verbreiteten Fällen kann CSV die Informationen effektiv und langfristig festhalten. Jedoch ist auch in solchen Fällen eine Umwandlung in ein XML oder JSON sinnvoll, da das Format nur bei XML und JSON validiert werden kann.

Implementierung: 4
Praktisch jedes Datenbank- oder Tabellenkalkulationsprogramm kann CSV-Dateien erzeugen oder lesen. Vermehrt ist allerdings zu beobachten, dass modernere Datenbanken (2023) kein CSV mehr exportieren.

Speicherdichte: 4
Es findet keine Datenkomprimierung statt, die Feldinhalte werden eins zu eins abgelegt. Werden Beziehungen zwischen Tabellen abgebildet, kommt es zwangsläufig zu Datenredundanz (siehe oben zur Funktionalität).
Mit verbreiteten Datenkompressionsprogrammen (z.B. zip, gzip) ist jedoch eine verlustlose Komprimierung um bis zu Faktor 20 möglich.

Verifizierbarkeit: 2
Über die Dateiendung hinaus ist keine Erkennung oder Validierung möglich. Die fehlende Standardisierung macht es notwendig, Trennzeichen, die Maskierung von Trennzeichen und Zeilenumbruch in den Feldern, die Verwendung von Anführungszeichen und das Problem der unterschiedlichen Anzahl Felder pro Zeile genau zu dokumentieren. Anhand der Dokumentation kann dann geprüft werden, ob die korrekte Anzahl Felder pro Zeile vorhanden ist und ob Trennzeichen richtig eingesetzt und wo notwendig maskiert wurden. Zeichencodierung und Repräsentation der verwendeten Datentypen müssen ebenfalls festgehalten werden.

Best Practice: 3
CSV-Dateien sind in Archiven aus historischen Gründen relativ verbreitet. CSV als Archivformat für Datenbanken kann zu Informationsverlust führen. Es lässt sich mittlerweile weitgehend durch dafür besser geeignete XML oder SIARD Dateien ersetzen.

Perspektive: 2
CSV wird in vielen Fällen durch XML (z.B. SIARD) abgelöst, da dort die Probleme mit Maskierung von Steuerzeichen, Zeichensatz und Datentypen gelöst sind.

Formatklasse: A
CSV ist eines der ältesten Formate der Informatik.

   

Fazit

Grosse Datenbestände sind bereits in diesem Format archiviert worden. Deshalb wird das CSV-Format für Tabellen seine Bedeutung behalten. Da jedoch keine Beziehungen, Metadaten oder Strukturinformation in diesem Format festgehalten werden kann, werden nur gut dokumentierte Datenbestände in CSV-Format ihren Wert behalten. Die Ablösung durch XML oder JSON) wird sich auch im archivischen Bereich ergeben, da XML nicht zuletzt aus dem Bedürfnis entstanden ist, ein strukturiertes Datenaustauschformat zu schaffen und rein textbasierte Lösungen zu ersetzen.

    

Referenz

RFC-Spezifikation des Dateiformates CSV
http://tools.ietf.org/html/rfc4180

    

Literatur

Wikipedia, "CSV"
http://de.wikipedia.org/wiki/CSV_(Dateiformat)

Creativyst Software, The Comma Separated Value (CSV) File Format
http://www.creativyst.com/Doc/Articles/CSV/CSV01.shtml

Network Working Group, Common Format and MIME Type for Comma-Separated Values (CSV) Files
https://datatracker.ietf.org/doc/html/rfc4180

    

Katalog archivischer Dateiformate Version 7.0, Juni 2024