CSV-Dateien einlesen mit womodo

2. Juli 2022

Zum Einlesen von CSV Daten steht in womodo ein csvReader zur Verfügung. Dieser Reader kann einfach strukturierte Daten lesen - komplexer strukturierte Daten dagegen nicht.

In womodo 7.10.1 enthält der csvReader nun einen neuen CSV-Zeilen-Parser, der auch komplexere Daten verarbeiten kann.

Beispiel für einfach strukturierte Daten:

Titel;Datum
"Das ist ein Test";1.1.2020

Der bisherige csvReader trennt die Felder einfach beim Semikolon, um die einzelnen Werte zu ermitteln.

Beispiel für komplexe Daten

"Das ist ein Test; mit Problemen";1.1.2020

Da bisher simpel beim Semikolon getrennt wird, geht das in diesem Fall schief. Das Titel-Feld wird "zerschnitten".

Auch problematisch sind bisher doppelte Anführungszeichen in den Feldern:

"Das ist ein ""Test""; mit Problemen";1.1.2020

Diese doppelten Anführungszeichen sollten zu einfachen Anführungszeichen im Feld gewandelt werden.

Neuer csv-line-parser in womodo 7.10.1

Mit dem in womodo 7.10.1 neu implementierten Parser ist das nun kein Problem mehr.

Beispiel:

some;simple;values
"hallo; world";welcome;""
"hallo ""world"" - welcome";have fun;
hallo ""world"" - welcome;have fun;
""Quote"";of;the day
"""Quote""";of;the day

Import-Script:

AFW.Util.csvReader({
    columns: ["a","b","c"],
    process: function(data){
        console.log(JSON.stringify(data))
    }
}).read("test.csv")

Ausgabe:

{"a":"some","b":"simple","c":"values"}
{"a":"hallo; world","b":"welcome","c":""}
{"a":"hallo \"world\" - welcome","b":"have fun","c":""}
{"a":"hallo \"world\" - welcome","b":"have fun","c":""}
{"a":"\"Quote\"","b":"of","c":"the day"}
{"a":"\"Quote\"","b":"of","c":"the day"}

Korrekte Ergebnisse mit womodo 7.10.1

Der neue csvReader führt nun auch bei komplexen Strukturen zu korrekten Ergebnissen.