QR-Codes in großen MengenEntwicklung & Anpassung

Ein Python-Skript, das für jede Zeile Ihrer Liste einen QR-Code erstellt, benannt und bereit zum Drucken

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 für jede Zeile Ihrer Liste einen QR-Code erstellt, benannt und bereit zum Drucken

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

Tischkarten für ein Restaurant, Etiketten für Lager oder Geräte, Tickets, Produktanhänger, Codes für jede Seite eines Katalogs: Wenn Sie Hunderte QR-Codes brauchen, dauert es ewig, sie einzeln auf einer Website zu erstellen. Dieses Python-Skript liest Ihre Liste (CSV oder Excel) und erstellt für jede Zeile einen QR-Code: einen Link, einen Text, eine Kontaktkarte oder WLAN-Zugangsdaten, gespeichert als PNG für Bildschirme oder SVG für den Druck, benannt nach einer Spalte wie der Tischnummer oder Artikelnummer. Ab Standard ergänzt es eine Beschriftung und prüft, ob sich jeder Code korrekt auslesen lässt; Premium setzt sie auf einen PDF-Etikettenbogen. Es sind statische Codes: Der Link steckt im Code selbst, daher lässt er sich nach dem Druck nicht ändern, und Scans werden nicht gezählt. Scannen Sie zur Probe ein paar, bevor Sie viele drucken.

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 Größe, Farben und Beschriftungen; der Code wird auch auf der Bestellseite angezeigt.
  • Ein Code pro ZeileLinks, Texte, Kontaktkarten oder WLAN-Zugangsdaten
  • Für Bildschirm oder DruckPNG in der festgelegten Größe oder skalierbares SVG
  • Nach Ihrer Art benanntDateien nach einer Spalte Ihrer Liste benannt
  • Auslese-PrüfungAb Standard wird jeder Code dekodiert, um sicherzugehen, dass er stimmt
  • Lesbarer CodeMit Kommentaren, das Aussehen lässt sich später leicht ändern

So funktioniert es

  1. 1
    ListeSie schicken einen Ausschnitt der Liste und wie die Codes verwendet werden
  2. 2
    CodeWir schreiben das Skript und die Anleitung zum Ausführen
  3. 3
    AusprobierenSie erstellen Codes für ein paar Zeilen und scannen sie mit Ihrem Smartphone
  4. 4
    ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen

Was wir von Ihnen brauchen

10–20 Zeilen Ihrer Liste als CSV oder Excel, welche Spalte in den Code kommt und welche den Dateinamen oder die Beschriftung liefert, und wo die Codes verwendet werden: Bildschirm, Aufkleber, Karte oder Schild, mit der Druckgröße, falls bekannt. Farben, falls nicht Schwarz auf Weiß, Ihr Logo als PNG oder SVG für Premium und das Layout des Etikettenbogens (Papierformat, Codes pro Zeile und Spalte). Ihr System: Windows, macOS oder Linux.

Wir fragen Sie:

  • Wofür sind die Codes?
  • Was kommt in jeden Code?
  • Bildschirm oder Druck, und welche Größe?

Pakete vergleichen

PaketeBasisCodes aus einer Liste15 €StandardCodes mit Einstellungen30 €PremiumQR-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

Kann ich nach dem Druck ändern, wohin ein Code führt?

Mit diesen Codes nicht: Die Adresse steckt im Code selbst. Wenn Sie sie eventuell ändern müssen, lassen Sie die Codes auf Seiten Ihrer eigenen Website zeigen, die Sie später weiterleiten können.

Kann es zählen, wie viele Personen einen Code gescannt haben?

Nein, zum Zählen braucht es einen Server zwischen Code und Seite, den dieses Skript nicht hat. Sie können Ihren Links UTM-Parameter hinzufügen und die Besuche in der Webanalyse Ihrer Website sehen.

Ist ein Logo in der Mitte unproblematisch?

Ein kleines Logo funktioniert, wenn der Code eine hohe Fehlerkorrektur nutzt, die Premium einstellt. Die Auslese-Prüfung und ein Testscan mit Ihrem Smartphone geben Gewissheit.

Wie viele Codes kann es erstellen?

So viele, wie es Zeilen gibt; Tausende dauern auf einem normalen Computer ein bis zwei Minuten.

Keine Antwort gefunden?

Pakete