CSV-Datei strukturiert auslesen
Der Service Task „CSV-Datei strukturiert auslesen“ wandelt eine CSV-Datei automatisiert in ein Array von JSON-Objekten
um. Optional können Spaltennamen über ein Mapping angepasst und Datentypen wie float
, date
oder boolean
transformiert werden.
Input-Parameter
Die folgenden Felder werden als Eingabe für den Task benötigt:
{
"csv_file": {
"referenceId": "string",
"filename": "datei.csv"
},
"config": {
"delimiter": ";"
},
"column_mapping": {
"Betrag": "betrag",
"Valutadatum": "valutadatum"
},
"field_mapping": {
"betrag": { "type": "float" },
"valutadatum": { "type": "date", "format": "dd.MM.yyyy" }
}
}
Erläuterung:
csv_file
: Referenz zur hochgeladenen CSV-Datei (Datei muss alsfileReference
vorliegen).config
: Optionales Konfigurationsobjekt für den CSV-Import (unterstützte Optionen:delimiter
,header
,skipEmptyLines
,dynamicTyping
).column_mapping
: Optionales Objekt zur Umbenennung der CSV-Header. Schlüssel = ursprünglicher Spaltenname, Wert = Zielname im JSON.field_mapping
: Optionales Objekt zur Typkonvertierung einzelner Felder. Mögliche Typen:string
,int
,float
,date
,boolean
. Für Datumsfelder kann zusätzlich einformat
angegeben werden (z. B.dd.MM.yyyy
).
Output
Der Task gibt die geparsten Datensätze als JSON zurück:
{
"status": 200,
"records": [
{
"betrag": 177.5,
"valutadatum": "2025-03-07"
},
...
],
"total": 42
}
Erläuterung:
status
: HTTP-Statuscode.records
: Array mit den geparsten JSON-Objekten.total
: Anzahl der Zeilen (Datensätze).
JSONata-Beispiele
// Beispiel: Betrag und Valutadatum dynamisch aus Prozessdaten
{
"column_mapping": {
"Betrag": "betrag",
"Valutadatum": "valutadatum"
},
"field_mapping": {
"betrag": { "type": "float" },
"valutadatum": { "type": "date", "format": "dd.MM.yyyy" }
}
}
Hinweise
- Nur
csv_file
ist verpflichtend;config
,column_mapping
undfield_mapping
sind optional. - Leere Zeilen werden automatisch übersprungen.
- Datumsfelder werden bei korrektem Format in
YYYY-MM-DD
(ISO) zurückgegeben. - Zahlen mit deutschem Komma (
177,50
) werden korrekt erkannt.
Tipp
Nutze den JSONata Playground, um Ausdrücke zu testen und zu validieren.