# CSV-Export via sw-sync-cli

**URL:** <https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486>\
**Category:** Programmierung\
**Created:** [27. Juni 2025 um 20:00 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486 "2025-06-27T20:00:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![OlliZabal](https://avatars.discourse-cdn.com/v4/letter/o/ce73a5/32.png) [@OlliZabal](https://forum.shopware.com/u/OlliZabal)\
**Post date:** [27. Juni 2025 um 20:00 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486/1 "2025-06-27T20:00:28Z")

</div>

Moin,

via [sw-sync-cli](https://github.com/shopware/sw-sync-cli) und einem entsprechenden YAML-Skript versuche ich Produkte als CSV-Datei zu exportieren. Das funktioniert soweit super!

Wo ich mich jedoch im Kreise drehe ist der Umstand, dass ich gerne die Ausgabe/Formatierung des Brutto-Preis mit dem Dezimaltrennzeichen Komma statt Punkt hätte.

Ich verwende das folgende serialize\_script aus dem Beispiel reduziert auf Brutto-Preis:

```auto
serialize_script: |
  if entity.price == () {
    row.default_price_gross = "";
  } else {
    let default_currency = get_default("CURRENCY");
    let price = entity.price.find(|p| p.currencyId == default_currency);
    row.default_price_gross = price.gross;
  }

```

Kann mir hier jemand auf die Sprünge helfen?

---

<div class="post-metadata">

**Author:** ![NilsKR](https://avatars.discourse-cdn.com/v4/letter/n/7993a0/32.png) [@NilsKR](https://forum.shopware.com/u/NilsKR)\
**Post date:** [30. Juni 2025 um 09:53 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486/2 "2025-06-30T09:53:56Z")

</div>

Moin,

müsste mit

```auto
row.default_price_gross = price.gross.replace(".", ",");

```

klappen 🙂

---

<div class="post-metadata">

**Author:** ![OlliZabal](https://avatars.discourse-cdn.com/v4/letter/o/ce73a5/32.png) [@OlliZabal](https://forum.shopware.com/u/OlliZabal)\
**Post date:** [30. Juni 2025 um 10:42 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486/3 "2025-06-30T10:42:04Z")

</div>

Moin @NilsKR

danke Dir für Deine Antwort 👍.

Das hatte ich bereits probiert und führte jwdoch zu einem Fehler.

```auto
`Result::unwrap()` on an `Err` value: Function not found: replace (f64, &str | ImmutableString | String, &str | ImmutableString | String)

```

Dann habe ich das probiert:

```auto
row.default_price_gross = price.gross.to_string().replace(".", ",");

```

Ergebnis: kein Fehler damit jedoch führt das zu „null“-Ergebnissen in der Spalte.

Das Problem ist, dass das Tabellenfeld mit JSON-Daten (Object) befüllt ist.  
Und da dreh’ ich mich im Kreise und bin aktuell am Ende meines Lateins. Hab viel gelesen, mit KI versucht aber ohne Erfolg bis dato.

Freue ich über weitere Hilfe bzw. Ideen 🙏

---

<div class="post-metadata">

**Author:** ![OlliZabal](https://avatars.discourse-cdn.com/v4/letter/o/ce73a5/32.png) [@OlliZabal](https://forum.shopware.com/u/OlliZabal)\
**Post date:** [2. Juli 2025 um 16:00 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486/4 "2025-07-02T16:00:03Z")

</div>

Ich antworte mir hier nun mal selber, da ich (endlich…) erfolgreich war 😇.

Vielleicht ist es ja für jemanden ja mal hilfreich (hier nur der entsprechende Ausschnitt meines Skripts):

```auto
serialize_script: |
  if entity.price == () {
    row.default_price_gross = "";
  } else {
    let default_currency = get_default("CURRENCY");
    let price = entity.price.find(|p| p.currencyId == default_currency);
    
    if price == () {
      row.default_price_gross = "";
    } else {
      // Zahl zu String
      let gross_str = price.gross.to_string();

      // Prüfen ob ein "." im String ist
      if gross_str.contains(".") {
        // Aufteilen bei "."
        let parts = gross_str.split(".");

        // Teile mit Komma zusammensetzen
        row.default_price_gross = parts[0] + "," + parts[1];
      } else {
        // Kein Dezimalpunkt, Ausgabe direkt
        row.default_price_gross = gross_str;
      }
    }
  }

```

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)\
**Post date:** [1. August 2025 um 16:00 UTC](https://forum.shopware.com/t/csv-export-via-sw-sync-cli/107486/5 "2025-08-01T16:00:59Z")

</div>

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
