Repository navigation
Functions Parser GenericParser CSVParser
Der CSVParser dient der Verarbeitung aller CSV basierten Datendateien.
Die CSV-Dateien können über den FileImporter, HTTPImporter oder FTPImporter importiert werden.
Die Import-Tabelle muss entsprechend der zu importierenden Daten gestaltet werden. Es gibt keine festen Vorgaben.
| 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).
{
"importer": "HTTPImporter",
"parser": "CSVParser",
"url": "http://meinetolledatenquelle.de/onlinedaten.csv",
"server": "http://epigraf01.ad.fh-bielefeld.de:8080",
"smartdata": "SmartDataTest",
"storage": "test",
"collection": "importtable"
}{
"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
}{
"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)"
Dieser Parser hat noch keine Datei-Erkennung implementiert, er wird jede Datei akzeptieren und versuchen als CSV zu interpretieren.