Zur Homepage www.HI-Tier.de CSV-Format
Zurück Home Nach oben Weiter
Öffentlicher Bereich für Entwickler

 

Klarstellungen zum CSV-Format

Allgemein

Das CSV-Format ist zwar sehr weit verbreitet, wird aber leider manchmal etwas unterschiedlich ausgelegt. Daher sollen folgende Darlegungen zu einer Klärung dienen. Einzelne Punkte können ggf. in den Fachgruppen noch diskutiert und geändert werden.

bulletBei der Kodierung von Daten im HIT-Protokoll ist nach der strikte HIT-CSV Festlegung vorzugehen
bulletFür CSV-Input und -Outputdateien, insbesondere für Datei-Verarbeitung mittels HIT-Batch-Client kann wahlweise eine etwas andere, leichter lesbare Form  gewählt werden: Readable CSV
bulletZur Vereinfachung der Datenstrukturen auf der Clientseite ist es möglich, einzelne Spalten in in einzelnen Zeilen eine CSV-Datei so zu kennzeichnen als ob diese Spalten in diesem Datensatz gar nicht vorhanden wäre, siehe unten , sowie KA (Keine Angabe) vs. NULL/Leerstring

Pflichtpunkte

bulletAls Separator ist nur Semikolon erlaubt.
bulletNach der letzten Datenspalte kommt kein Separator.
bulletDie erste Zeile enthält die Spaltennamen.
bulletAls Charakterset wird z.Zt. ISO 8859-1 verwendet.
bulletAls Dezimaltrenner ist nur der Punkt erlaubt.
bulletDatums und Zeitangaben sind in lesbarem deutschen Format, notwendige Ergänzugen werden automatisch vorgenommen
bulletDatum: T.M.J , mit T=1 oder 01...31, M=1 oder 01...12, J=1 oder 01...99 bzw, 1900...2100
bulletZeit: H.N[.S] , mit H=0 oder 00...23, N=0 oder 00...59, S=0 oder 0=...99
bulletTimestamp: T.M.J/H.N[.S[.X]] , mit X=0 oder 000000...999999. Bei X handelt es sich um Mikrosekunden (10 hoch -6) und nicht um Sekundenbruchteile, d.h. 11:59:00.1 ist nicht 11:59:00.100000 sondern 11:59:00.000001 !

Strikte HITP-CSV Festlegung

bulletStrings dürfen nicht in Hochkommas eingeschlossen werden.
bulletSonderzeichen werden hexadezimal kodiert, siehe Quoted-Hex, insbesondere:
bulletwenn Verwechslungsmöglichkeit mit Protokoll-Separatoren besteht, also Doppelpunkt, Semikolon u.ä.
bulletoder der Protkollfluß beeinträchtigt wird, also alle Formen von Carriage Return, Newline, Form Feed, u.ä
bulletEin Datenwert ohne Inhalt, d.h. NULL wird als Quoted Hex %-- dargestellt
bulletEin Leerstring, also etwas i.d.F ;; ist ein Textstring der Länge 0 und damit kein gültiger Wert für Zahlen
bulletEine Spalte die überhaupt nicht berücksichtigt werden soll, dh. KA (keine Angabe) wird als Quoted Hex %KA dargestellt

Readable CSV

bulletStrings werden immer in doppelte Hochkommas eingeschlossen und können damit Sonderzeichen enthalten.
bulletDie NULL wird als fehlendes Element in der Form ;; angegeben.
bulletEin Leerstring wird in der Form  "" angegeben.
bulletKA (keine Angabe) wird als Quoted Hex %KA ohne Hochkomma dargestellt