# CSV gleich Zieldatei

**URL:** <https://forum.synesty.com/t/csv-gleich-zieldatei/2524>\
**Category:** Fragen und Antworten\
**Created:** [31. Oktober 2021 um 02:44 UTC](https://forum.synesty.com/t/csv-gleich-zieldatei/2524 "2021-10-31T02:44:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![PROSIN](https://forum.synesty.com/letter_avatar_proxy/v4/letter/p/74df32/32.png) [@PROSIN](https://forum.synesty.com/u/PROSIN)\
**Post date:** [31. Oktober 2021 um 02:44 UTC](https://forum.synesty.com/t/csv-gleich-zieldatei/2524/1 "2021-10-31T02:44:15Z")

</div>

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](https://forum.synesty.com/uploads/default/original/1X/0a938630e761f5d4490e18003c32edf5fb4d3c96.png)

von Synesty ausgegeben wird:

 ![grafik](https://forum.synesty.com/uploads/default/original/1X/7bc3dafaedcdb238924f873360fee5d9a7be2814.png)

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

Danke und Grüße  
Enrico

---

<div class="post-metadata">

**Author:** ![synesty-Sales](https://forum.synesty.com/user_avatar/forum.synesty.com/synesty-sales/32/114_2.png) [@synesty-Sales](https://forum.synesty.com/u/synesty-Sales)\
**Post date:** [1. November 2021 um 19:09 UTC](https://forum.synesty.com/t/csv-gleich-zieldatei/2524/2 "2021-11-01T19:09:56Z")

</div>

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](https://apps.synesty.com/registration/Tools-TextHTMLWriterMultiOutput/de-de?action=showStep&id=b95a3c36-699c-11e3-b9c3-4061862b98fd&addOnId=dcd92cf6-31ff-11e5-a95b-4061862b98fd) per Hand zusammenbauen.

Dadurch kannst du jede Zeilen individuell behandeln.

---

<div class="post-metadata">

**Author:** ![PROSIN](https://forum.synesty.com/letter_avatar_proxy/v4/letter/p/74df32/32.png) [@PROSIN](https://forum.synesty.com/u/PROSIN)\
**Post date:** [4. November 2021 um 04:35 UTC](https://forum.synesty.com/t/csv-gleich-zieldatei/2524/3 "2021-11-04T04:35:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![synesty-Sales](https://forum.synesty.com/user_avatar/forum.synesty.com/synesty-sales/32/114_2.png) [@synesty-Sales](https://forum.synesty.com/u/synesty-Sales)\
**Post date:** [4. November 2021 um 06:50 UTC](https://forum.synesty.com/t/csv-gleich-zieldatei/2524/4 "2021-11-04T06:50:23Z")

</div>

Das Grundgerüst am Beispiel TextHTMLWriterMultiOutput ist:

```auto
<#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](https://docs.synesty.com/SSUD/Spreadsheet_Freemarker-Funktionen.html).
