Dateiformat
Einfaches CSV: Semikolon als Trenner, Punkt als Dezimaltrenner, UTF-8 ohne Byte-Order-Mark, Zeilenende LF.
Aufbau
Jede Datei beginnt mit einer Kommentarzeile, die mit # anfängt, danach folgt die Kopfzeile mit den Spaltennamen. Weitere Kommentarzeilen mit # können vorkommen, etwa am Dateiende, und werden beim Einlesen übersprungen.
# Messreihenarchiv, Reihe pegel (synthetisch, CC0 1.0) zeit_utc;station;pegel_cm;wassertemp_c;abfluss_m3s 2024-01-01T00:00:00Z;S27;179.4;9.98;4.81 2024-01-01T00:10:00Z;S27;180.2;10.01;4.84
Spalten der Pegelreihen
| Spalte | Einheit | Bedeutung |
|---|---|---|
| zeit_utc | ISO 8601, UTC | Zeitpunkt des Werts, alle zehn Minuten |
| station | Kennung | Erfundene Stationskennung, nicht mit realen Messnetzen verbunden |
| pegel_cm | cm | Wasserstand über einem frei gewählten Nullpunkt |
| wassertemp_c | °C | Wassertemperatur |
| abfluss_m3s | m³/s | Abfluss, aus dem Pegel abgeleitet |
Spalten der Klimareihen
| Spalte | Einheit | Bedeutung |
|---|---|---|
| zeit_utc | ISO 8601, UTC | Zeitpunkt, alle zehn Minuten |
| station | Kennung | Erfundene Stationskennung |
| lufttemp_c | °C | Lufttemperatur mit Jahres- und Tagesgang |
| luftfeuchte_pct | % | Relative Feuchte, gegenläufig zur Temperatur |
| luftdruck_hpa | hPa | Luftdruck mit langsamer Schwankung |
Lesen in der Praxis
Mit Python und pandas genügt pd.read_csv(datei, sep=";", comment="#", parse_dates=["zeit_utc"]). In R funktioniert read.csv2 nicht direkt, weil der Dezimaltrenner ein Punkt ist; dort nimmt man read.table(datei, sep=";", dec=".", header=TRUE, comment.char="#").
Beispieldateien finden Sie auf der Seite Messreihen.