Skip to content

Functions Parser GenericParser CSVParser

Florian Fehring edited this page Oct 5, 2026 · 1 revision

Der CSVParser dient der Verarbeitung aller CSV basierten Datendateien.

Die CSV-Dateien können über den FileImporter, HTTPImporter oder FTPImporter importiert werden.

Import-Tabelle

Die Import-Tabelle muss entsprechend der zu importierenden Daten gestaltet werden. Es gibt keine festen Vorgaben.

Import-Konfiguration

Parameter Bedeutung Standard optional
csv.format Angabe des CSV Unterformats (DEFAULT, EXCEL) DEFAULT yes
csv.delimiter Spalten-Trennzeichen ; yes
csv.headers Array mit den Spaltennamen wie in der Kopfzeile no
csv.mapping Mapping der CSV-Spalten zu Tabellen-Spalten(siehe Bsp.) no
csv.skipbeginlines Skip this number of lines 0 yes
csv.ignoreemptysets Do not import sets without measured data false yes
flatten Datensätze der CSV als einen DB-Datensatz zusammenfassen false yes
time_correcture Parameter im Mapping eines Wertes, Zeitkorr. in Stunden 0 yes

Bei csv.headers müssen immer alle header angegeben werden, wie sie in der Datei zu finden sind, unabhängig davon, ob diese importiert werden sollen.

Das Mapping besteht aus einem Objekt mit den Angaben csv_column (Name oer Nummer der Spalte in der CSV), db_column (Name der Spalte in der DB) und type (Datentyp des Wertes).

Einfaches Beispiel mit minimaler Konfiguration

{
  "importer": "HTTPImporter",
  "parser": "CSVParser",
  "url": "http://meinetolledatenquelle.de/onlinedaten.csv",
  "server": "http://epigraf01.ad.fh-bielefeld.de:8080",
  "smartdata": "SmartDataTest",
  "storage": "test",
  "collection": "importtable"
}

Beispiel Konfiguration Laborhellkennlinien

{
  "importer": "HTTPImporter",
  "parser": "CSVParser",
  "url": "http://localhost/test.json",
  "server": "http://smardata.server.de",
  "smartdata": "SmartData",
  "storage": "test",
  "collection": "kennlinien",
  "csv.format": "EXCEL",
  "csv.delimiter": ";",
  "csv.headers": [
     "U_mes", "I_mes", "U_L", "I_L", "U_LT", "I_LT", "U_ref", "E_ref"
  ],
  "csv.mapping": [
    {
      "csv_column": "U_mes",
      "db_column": "U",
      "type": "double"
    },
    {
      "csv_column": "I_mes",
      "db_column": "I",
      "type": "double"
    }
  ],
  "flatten": true
}

Beispiel Konfiguration DWD Einstrahlungsdaten

{
    "importer":"HTTPImporter",
    "parser":"CSVParser",
    "url":"http://localhost:8080/SmartDataPorter/testfiles/irradiance_test.csv",
    "server":"http://127.0.0.1:8080/",
    "smartdata":"SmartData",
    "storage":"test",
    "collection":"irradiation_germany",
    "csv.format":"EXCEL",
    "csv.delimiter":",",
    "csv.headers":[
        "lat","lon","time","SIS","SID"
    ],
    "csv.mapping":[
        {"csv_column":"lat","db_column":"lat","type":"double"},
        {"csv_column":"lon","db_column":"lon","type":"double"},
        {"csv_column":"time","db_column":"time","type":"string"},
        {"csv_column":"SIS","db_column":"gesamt_strahlung","type":"double"},
        {"csv_column":"SID","db_column":"direkt_strahlung","type":"double"}
    ],
    "flatten":false,
    "geo.transform":true,
    "geo.latAttr":"lat",
    "geo.lonAttr":"lon",
    "geo.srid":"4326",
    "geo.dbattr":"location"
}

Hinweis: geo.* Konfigurationen gehören zu den Basis-Konfigurationen. Siehe "[Konfiguration des Imports](anwendung/Importer/Konfiguration des Imports)"

Datei-Erkennung

Dieser Parser hat noch keine Datei-Erkennung implementiert, er wird jede Datei akzeptieren und versuchen als CSV zu interpretieren.

Beispiel Quell-Dateien

Clone this wiki locally