FileAppender: Spalten von Dateien vorher "normalisieren"

Hallo Team,

ich habe immer wieder das Problem, daß in Projekten ein Haufen csvs eingelesen werden muß. Dabei kommt es immer wieder zu Chaos, weil die Spalten der csvs nicht immer in derselben Struktur vorliegen, obwohl sie das eigentlich sollten. Ich habe bisher dafür immer nur zwei Lösungen: Meinem Kunden mitteilen, daß diese Files zwingend dieselbe Struktur haben müssen, oder jede Datei einzeln in einen Mapper einlesen und dann die Mapper aneinanderhängen. Das erste klappt manchmal nicht, das zweite ist aufwendig - zumal ich ja sehen muß, daß mein Flow nicht mehr als 250 Steps haben darf. Wenn dann schon fünfzig allein dafür draufgehen, komme ich in die Bredouille. Also, Frage: Ist es möglich, das Ganze irgendwie anders zu machen? Ich überlege schon, ob man das nicht irgendwie vorher parsen kann, wie ich das mit JSON-Strukturen mache, nur daß diesmal eben Spalten aller Dateien aus einer Filelist geparst werden. Er könnte die Spaltennamen dann in ein Array schreiben und dieses ergänzen, sobald eine neue Spalte dazukommt. Am Ende müßte er dann alles mit list und row.addCol anlegen … Ist erstmal nur ein vager Gedanke, so richtig wüßte ich nicht, wie ich es realisieren kann.

Danke und Gruß,
Micha
podcomm e-commerce management

Hallo Micha,

bringt dich der File2Spreadsheet-Step möglicherweise deinem Ziel näher? Damit kriegt du ein Spreadsheet mit dem Inhalt aller Dateien und solltest ein Skript schreiben können, welches alle CSVs zu einer großen CSV-Datei zusammenschreibt.
Zumindest in der Theorie sollte das funktionieren.

Gruß
Gustav

Hallo Gustav,

vielen Dank für Deinen Ansatz. Erstaunlich, daß man auch nach Jahren mit Synesty immer noch Steps entdeckt, die man noch nicht kannte :wink: Tatsächlich hat mir der Step weitergeholfen. Es war zwar noch ein steiniger Weg, daraus nach vielen Regexes und lists ein Key-Value-Sheet zu erstellen, das am Ende eine fast perfekte Excel bzw. Spreadsheet erstellt, aber wenn man das einmal gemacht hat, funktioniert’s dann auch in Zukunft. :slight_smile:

Gruß Micha
podcomm e-commerce management