Allgemein
Wir empfehlen, zur Bearbeitung und Betrachtung von CSV-Dateien einen einfachen Texteditor wie Notepad++, vi oder Emacs zu nutzen. Bei der Verwendung von Excel sowohl bei der Erstellung als auch bei der Betrachtung kommt es erfahrungsgemäß zu Fehlern im Export, die eine automatisierte Verarbeitung verhindern. Es werden z.B. Zeitstempel und Ziffern nicht zuverlässig erzeugt, sodass sie unseren Standards entsprechen.
Als Spaltenseparator wird ein Semikolon verwendet. Zeilen werden durch einen Zeilenumbruch getrennt. Jede Zeile (auch die Kopfzeile) muss die gleiche Anzahl an Einträgen und damit an Semikolons enthalten. Eine Verwendung von führenden oder abschließenden Leerzeichen in der Kopfzeile oder den Datenfeldern verhindert im Allgemeinen einen erfolgreichen automatischen Datenimport.
Dezimaltrenner ist der Punkt. Als Tausendertrennzeichen kann ein Komma verwendet werden. Es wird jedoch empfohlen dieses nicht einzufügen.
Beim Einlesen Ihrer Daten gehen wir von einer UTF-8 Kodierung aus.
Zeichen | Kurzbeschreibung |
---|---|
0 1 … 9 | Ziffern Null bis Neun. |
aA…zZ | Klein- und Großbuchstaben des einfachen Alphabetes ohne Umlaute. |
– | Bindestrich/Minus |
: | Doppelpunkt |
_ | Unterstrich |
␣ | Leerzeichen (ausschließlich als Teil von Namen, die aus mehreren Wörtern bestehen. Leerzeichen z.B. am Zeilenanfang, Zeilenende oder vor und hinter Semikolons verhindern im Allgemeinen eine erfolgreiche Verarbeitung.) |
. | Punkt |
, | Komma |
; | Semikolon (ausschließlich als CSV-Spaltentrennzeichen) |
Datum-Zeit-Format
Typ | Beispiel | Spezifikation |
---|---|---|
Datum ohne Zeitstempel | 2021-01-31 | ‘JJJJ-mm-tt’
Jahr, Monat und Tag in genau dieser Reihenfolge durch einen Bindestrich verbunden. |
Datum mit Zeitstempel | 2020-01-31T14:00:00 | ‘JJJJ-mm-ttTHH:MM:SS’
Jahr, Monat, Tag ohne Unterbrechung, dann das T als Trennzeichen zwischen Datum und Uhrzeit und die Uhrzeit in der Form Stunde, Minute, Sekunde durch einen Doppelpunkt getrennt. Die Uhrzeit erfolgt in 24h-Darstellung, beginnend mit 00:00:00 und endend mit 23:59:59 . Die Angabe der Zeit muss immer in Weltzeit (UTC) erfolgen, um eine korrekte Verarbeitung zu sicherzustellen. |
Zeitreihen
Typ | Anwendung | Spezifikation |
---|---|---|
Zeitreihen mit Datum und Uhrzeit | Zeitreihen zur Erfassung von Summen/Mitteln im Takt von 1h, 15min oder 10min (z.B. Speisungsdaten, Wetterdaten) | Nachgestempelt, Datum und Uhrzeit beziehen sich auf UTC. Mitteleuropäische Zeit mit Sommer- und Winterzeit wird nicht unterstützt. Als Zeitstempel für das Intervall von 12:00 Uhr bis 13:00 Uhr UTC am 31.01.2021 wird beispielsweise der Zeitstempel ‘2021-01-31T13:00:00’ genutzt. |
Zeitreihen mit Datum und ohne Uhrzeit | Zeitreihen zur Erfassung von Tagesmittelwerten oder Tagessummen | Als Datum wird der Tag gewählt, für den der Mittelwert bzw. die Summe gilt. |
Zeitscheiben mit Datum ohne Zeitstempel
Zeitscheiben kommen nur als Zeitscheiben für vollständige Tage zum Einsatz. Daher werden sie durch Datumsangabe ohne Uhrzeit eingegrenzt. Erster und letzter enthaltener Gültigkeitstag der Zeitscheibe werden in separaten Spalten eingetragen, die durch die Einträge ‘Von’ und ‘Bis’ im Spaltenkopf identifiziert werden.
Typische Fehler / Probleme
Fehler | Beispiel/Folge |
---|---|
Falscher Dezimaltrenner | Für den Kundenwert 32.457 erscheint 32,457 in der historisch_malo.csv. Das Komma wird, den Spezifikationen entsprechend, als Tausendertrennzeichen interpretiert und letzterer Wert als 32457 angesehen. Berechnungen, die auf dieser Zahl beruhen, sind im Allgemeinen nicht brauchbar. |
Falsches Datum um Mitternacht | Dem Beginn der ersten Stunde wird, nicht den Spezifikationen entsprechend, in der Datenlieferung noch das Datum des letzten Tages zugeordnet. 2020-01-01T00:00:00 erscheint zum Beispiel als 2019-12-31T00:00:00 in der Datei. Letzteres ist ein gültiges Datum, wird beim Import aber als 24 Stunden früher angenommen. Dies führt zum einen zu einer geringfügig schlechteren Prognosequalität bei Nutzung der darauf basierenden Gasprognosetemperatur. Zum anderen ‚fehlt‘ der letzte Mitternachtswert in der Zeitreihe (üblicherweise endet die Speisungsdatenlieferung um 06:00 Uhr Ortszeit), was wiederum in der relevanten aktuellen Berechnung zu unvorhersehbaren Ergebnissen führen kann. |
Zeitstempel in Mitteleuropaeischer Zeit | Der Zeitstempel ist korrekt formatiert, es wird aber die mitteleuropäische (Sommer-)Zeit verwendet. (2018-02-24T06:00:00 statt 2018-02-24T05:00:00 oder 2018-08-01T01:00:00 statt 2018-07-31T23:00:00). Da beim Einlesen Weltzeit (UTC) angenommen wird, kommt es zu einer Reihe von „Fehlern“. Zunächst werden den Daten „falsche“, jedoch den Spezifikationen entsprechende, Zeitstempel zugeordnet. Weiterhin „fehlt“ am Tag der Zeitumstellung im Frühjahr nun eine Stunde (03:00 Uhr kommt bei Wechsel von MEZ nach MESZ nicht vor). Im Sommer gibt es den Zeitstempel um 03:00 Uhr, jedoch doppelt. Beim Datenimport werden nur die Daten zu einem der beiden Zeitstempel genutzt. Die anderen Daten gehen verloren. Die Berechnung der Gasprognosetemperatur kann ggf. nicht durchgeführt werden oder erfolgt mit geringerer Genauigkeit. |
Fehlende Schalttage | Die Berechnung der Gasprognosetemperatur kann ggf. nicht durchgeführt werden. |
Überzählige Stunde in der Zeitreihe | Dieser Fehler ist meist eine Folge der vergessenen Umrechnung in Weltzeit (UTC). Beim Wechsel von MEZ auf MESZ entsteht eine Lücke zwischen 02:00 Uhr und 04:00 Uhr. Manche Systeme fügen hier einen zusätzlichen Eintrag für 03:00 Uhr ein. Woher die Daten für diese Zeile dann stammen ist nicht vorhersehbar. Die Berechnung der Gasprognosetemperatur kann meistens nicht durchgeführt werden oder erfolgt mit geringerer Genauigkeit. |
Unzulässige Zeichen in den Daten | Semikolon, Anführungszeichen, Umlaute, zusätzliche Leerzeichen, Tab-Sprünge, etc. |
Mehr als eine Kopfzeile | Um zusätzliche Angaben zu machen, wurden weitere Kopfzeilen eingefügt. Das ist schwer antizipierbar. Die entsprechende Datei kann nicht mehr eingelesen werden. |
Überzählige Zeilen in der Datei vor der Kopfzeile | Es gibt z.B. Leerzeilen vor der eigentlichen Kopfzeile. Als Folge kann die Datei nicht mehr eingelesen werden. |
Unzulässige Zeichen oder Bezeichnungen in den Datenfeldern | Beispiele: fehlende Daten werden nicht durch zwei Semikolons (;;) sondern z.B. durch Leerzeichen (; ;) oder andere Bezeichnungen (;Null;) eingetragen. In der Kopfzeile kommen zusätzliche Leerzeichen vor (Von ; Bis ;). Die Spalten können beim Einlesen nicht zugeordnet und damit die Datei nicht importiert werden. Das Leerzeichen ist auf Grund des Vorkommens im Zeitstempel ein gültiges Zeichen und kann nicht einfach komplett aus der Datei entfernt werden. |
Vorzeichen ist der Ziffer nachgestellt | z.B. 3.5- statt -3.5 . Die Datei kann nicht eingelesen werden. |
Datum und Uhrzeit werden in separaten Spalten eingetragen | Statt 2021-01-31T05:00:00 in der Spalte „Datum“ einzutragen, gibt es zwei Spalten, wobei eine das reine Datum 2021-01-31 und eine weitere die Uhrzeit 05:00:00 enthält. Beim Einlesen wird die Spalte mit der Uhrzeit ignoriert und es gehen 23 von 24 Daten pro Tag verloren. Die darauf basierenden Berechnungen sind meistens unbrauchbar. |
Zertifiziertes Qualitätsmanagement DIN ISO 9001:2015 TÜV SÜD