CSV gleich Zieldatei

Hallo zusammen,

ich habe über bestimmte Steps eine CSV nach Zielmuster bearbeitet, aber die Anzahl der Spalten, getrennt durch ; sind natürlich im zusammengefügten CSV mehr als in der Zieldatei.

Erwartet wird:

grafik

von Synesty ausgegeben wird:

wie entferne ich die nichtgebrauchten Spalten aus der Datei am besten?

Danke und Grüße
Enrico

Das Thema hatten wir intern schonmal irgendwann mit so einer 2-stufigen Datei (Kopf und Positionszeilen). Das Problem ist, dass das keine CSV-Datei im eigentlichen Sinne ist - auch wenn man das durch die Trenner denken könnte.

Du müsstest dir das mit dem TextHTMLWriter bzw. TextHTMLWriterMultiOutput per Hand zusammenbauen.

Dadurch kannst du jede Zeilen individuell behandeln.

Hallo nochmal,

um es von Hand zusammenzubauen, muss ich ja das letzte Spreadsheet nehmen, indem alles enthalten ist, damit ich die Reihenfolge der „Zeilenbeschreibung“ einhalten kann (POSORD, KOPORD etc…)

Mit welchem Befehl frage ich denn in Freemarker diese Zeilen ab? Diese verändern sich ja je nach Datei, so dass ich nicht auf die Zeilennummer gehen kann.

Ich stehe hier leider etwas auf dem Schlauch.

VG
Enrico

Das Grundgerüst am Beispiel TextHTMLWriterMultiOutput ist:

<#assign file1Content>
<#list spreadsheet@SpreadsheetMapper_2.getRows() as row>
<#list row.getCols() as col>${col.getTitle()!}: <#if col.get("mytype")! == "POSORD">mache dies ${col!}<#sep>;</#sep><#else>oder jenes ${col!}<#sep>;</#sep></#if></#list>
</#list>
</#assign>


${output(file1Content, "myfile3.txt", "UTF-8")}

Siehe auch hier.