Shopify-Produkt-CSVEntwicklung & Anpassung

Ein Python-Skript, das die Produktdatei Ihres Lieferanten oder alten Shops in eine CSV verwandelt, die bereit für den Import in Shopify ist

Meist in 15 Minuten fertigÜberarbeitungen inklusiveQualitätsprüfung
Pakete
ZahlungsschutzMehr dazu
  • Überarbeitungen im Rahmen des Pakets sind kostenlos.
  • Reagieren Sie nicht innerhalb von 3 Tagen nach der Lieferung, gilt die Arbeit automatisch als abgenommen.

Das Geld wird bei der Zahlung reserviert und erst freigegeben, wenn Sie die Arbeit abnehmen.

Ein Python-Skript, das die Produktdatei Ihres Lieferanten oder alten Shops in eine CSV verwandelt, die bereit für den Import in Shopify ist

Beispielergebnis

Beispiel für das Standard-Paket

Monatliche Verkaufsdateien von 9 Läden in einem Excel-Bericht zusammenführen

So wird es gestartet

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Ordner: sales/2026-10, 9 Dateien gefunden
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 Zeilen
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 Zeilen
2026-11-02 09:14:04 WARN  shop-07.csv: 3 Zeilen ohne Preis übersprungen (Zeilen 88, 412, 913)
2026-11-02 09:14:05 INFO  Fertig: 10.412 Zeilen -> report-2026-10.xlsx (Tabellenblätter „Verkäufe“ und „Summen“)

Einstellungen statt Code

Die Spaltennamen jedes Ladens stehen in settings.ini, daher ist ein neuer Laden oder eine umbenannte Spalte nur eine Zeile dort:

[columns]
date = Datum, Verkaufsdatum, Tag
product = Artikel, Produkt, Bezeichnung
quantity = Menge, Anzahl, Stk.
price = Preis, Einzelpreis

Ein Teil des Codes

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Liest die Datei eines Ladens ein und gibt ihr die Spaltennamen des Berichts."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: keine Spalte für '{name}' (gesucht wurde nach {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Dateien: ein ZIP-Archiv mit merge_sales.py (310 Zeilen), settings.ini, requirements.txt und einer README dazu, wie man Python installiert, das Skript startet und was jede Meldung im Protokoll bedeutet. Der Kunde startet es auf seinem eigenen Computer.

Kunde: eine kleine Kette von 9 Schreibwarenläden; jeder Laden schickt seine Monatsverkäufe als CSV- oder Excel-Datei, mit leicht unterschiedlichen Spaltennamen. Aufgabe: ein Skript, das jede Datei in einem Ordner einliest, die Spalten in eine einheitliche Form bringt und einen einzigen Excel-Bericht mit allen Verkäufen und einem Tabellenblatt mit Summen pro Laden schreibt.

Kunde und alle Angaben sind erfunden.

Über diese Leistung

Shopify importiert Produkte aus einer CSV-Datei, aber nur in seinem eigenen Aufbau: ein Handle für ein Produkt und alle seine Varianten, Optionsnamen und -werte in festen Spalten, Bilder als öffentliche Links. Dieses Python-Skript bringt Ihre vorhandene Datei, die Preisliste eines Lieferanten, einen Export aus Ihrem alten Shop oder Ihre eigene Excel-Tabelle, in diesen Aufbau. Es ordnet Ihre Spalten denen von Shopify zu, macht ab Standard aus Größen und Farben Varianten, bereinigt Preise und Bestand und ergänzt Tags. Es folgt der aktuellen Produkt-CSV-Vorlage von Shopify, die Sie in Ihrem Admin-Bereich herunterladen können. Bilder müssen unter Links liegen, die Shopify öffnen kann. Den Import in Shopify führen Sie selbst durch; wir melden uns nie in Ihrem Shop an. Testen Sie zuerst ein paar Produkte: Das Ergebnis ist nur so vollständig wie Ihre Daten.

Was enthalten ist

  • Das erhalten SieEin ZIP-Archiv mit dem Python-Skript, einer README mit Schritt-für-Schritt-Anleitung und ab Standard einer Einstellungsdatei mit der Spaltenzuordnung; der Code wird auch auf der Bestellseite angezeigt.
  • Der Aufbau von ShopifyNach der aktuellen Produkt-CSV-Vorlage von Shopify
  • Varianten gruppiertAb Standard Größen und Farben unter einem Produkt
  • Saubere Preise und BeständeZahlen, die Shopify akzeptiert, ohne Währungszeichen oder Leerzeichen
  • Probleme aufgelistetZeilen ohne Preis, Artikelnummer oder Bild werden gemeldet
  • Lesbarer CodeMit Kommentaren, eine Spalte lässt sich später leicht ergänzen

So funktioniert es

  1. 1
    DateienSie schicken einen Ausschnitt Ihrer Produktdatei und sagen, was wohin gehört
  2. 2
    CodeWir schreiben das Skript und die Anleitung zum Ausführen
  3. 3
    AusprobierenSie importieren ein paar Produkte in Shopify und prüfen sie
  4. 4
    ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen

Was wir von Ihnen brauchen

20–30 Zeilen Ihrer vorhandenen Datei (Lieferanten-Preisliste, Export des alten Shops oder Ihre eigene Tabelle), wie Varianten darin stehen (eine Zeile pro Größe oder Größen in einer Zelle), wo die Bilder liegen (Links oder Dateien, die Sie zuerst zu Shopify hochladen) und wie Preise festgelegt werden sollen. Falls vorhanden, ein Export einiger Produkte aus Ihrem Shopify-Shop, damit die Spalten genau passen. Ihr System: Windows, macOS oder Linux.

Wir fragen Sie:

  • Welche Datei haben Sie derzeit?
  • Wie stehen Varianten darin?
  • Wo liegen die Bilder?
  • Wie sollen Preise festgelegt werden?

Pakete vergleichen

PaketeBasisEinfache Produkte15 €StandardProdukte mit Varianten30 €PremiumProduktimport-Tool60 €
Lieferzeit1 Tag2 Tage3 Tage
Überarbeitungen123
Codebis zu 150 Zeilenbis zu 400 Zeilenbis zu 1.000 Zeilen
Code-Dateien1bis zu 3bis zu 8
EinstellungsdateiNeinJaJa
Verständliche Fehlermeldungen und ein ProtokollNeinJaJa
Startoptionen und eine Anleitung für den zeitgesteuerten StartNeinNeinJa
Anleitung zu Installation und Start (README)JaJaJa
SprachePythonPythonPython
Bestellen BasisBestellen StandardBestellen Premium

Zahlungsschutz

Sie bezahlen bei der Bestellung, aber das Geld wird nur für abgenommene Arbeit freigegeben.

  • FestpreisDer Paketpreis ändert sich nach der Zahlung nicht mehr.
  • Das Geld wird reserviertBei der Zahlung wird der Betrag nur reserviert. Freigegeben wird er erst, wenn Sie die Arbeit abnehmen.
  • Vor der Lieferung geprüftJedes Ergebnis durchläuft eine Qualitätsprüfung, bevor es Sie erreicht, und Sie sehen es auf der Bestellseite, bevor Sie es abnehmen.
  • Kostenlose ÜberarbeitungenFordern Sie Überarbeitungen im Rahmen Ihres Briefings so oft an, wie das Paket es erlaubt.
  • Abnahme nach 3 TagenWenn Sie die Arbeit innerhalb von 3 Tagen nach der Lieferung weder abnehmen noch eine Überarbeitung anfordern, gilt sie automatisch als abgenommen. Schreiben Sie nach der Lieferung im Bestell-Chat, wartet die Bestellung; sobald wir antworten, können wir die 3 Tage neu starten und teilen das im Chat mit.
  • Neuanfertigung oder volle RückerstattungWenn das Ergebnis nicht Ihrem Briefing entspricht und die Überarbeitungen das nicht behoben haben oder die Arbeit mehr als doppelt so lange dauert wie die Frist, schreiben Sie im Bestell-Chat: Wir erstellen die Arbeit neu oder erstatten die Zahlung vollständig.
So funktioniert es →

Fragen und Antworten

Importieren Sie die Produkte in meinen Shop?

Nein. Wir melden uns nie in Ihrem Shop an. Die CSV importieren Sie selbst in Ihrem Shopify-Admin; die README zeigt, wo und welche Optionen Sie wählen.

Was ist mit Bildern, die als Dateien auf meinem Computer liegen?

Shopify übernimmt Bilder in einer CSV nur als Links, die es öffnen kann. Laden Sie die Dateien zuerst in den Bereich „Dateien“ von Shopify hoch und geben Sie dem Skript die Liste ihrer Links, oder verwenden Sie Links, die Ihr Lieferant liefert.

Kann es Preise und Bestand vorhandener Produkte aktualisieren?

Ja, wenn die Handles zu Ihren vorhandenen Produkten passen: Shopify kann beim Import Produkte mit demselben Handle überschreiben. Testen Sie es zuerst mit ein paar Produkten.

Schreibt es Produktbeschreibungen?

Nein. Es übernimmt die Beschreibungen und Angaben aus Ihrer Datei und kann ihre Formatierung aufräumen. Texte, die es nicht hat, bleiben leer und werden gemeldet.

Keine Antwort gefunden?

Pakete