Codici QR in serieSviluppo e personalizzazione

Uno script Python che crea un codice QR per ogni riga del suo elenco, con il nome giusto e pronto da stampare

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Uno script Python che crea un codice QR per ogni riga del suo elenco, con il nome giusto e pronto da stampare

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    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}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Segnatavolo per un ristorante, etichette per magazzino o attrezzature, biglietti, cartellini dei prodotti, codici per ogni pagina di un catalogo: quando servono centinaia di codici QR, crearli uno per uno su un sito richiede un'eternità. Questo script Python legge il suo elenco (CSV o Excel) e crea un codice QR per ogni riga: un link, un testo, un biglietto da visita o i dati del Wi-Fi, salvato in PNG per gli schermi o in SVG per la stampa, con il nome preso da una colonna come il numero del tavolo o lo SKU. Dallo Standard aggiunge una didascalia e verifica che ogni codice si legga correttamente; il Premium li impagina su un foglio PDF di etichette. Sono codici statici: il link sta dentro il codice, quindi non si può cambiare dopo la stampa e le scansioni non vengono contate. Ne provi qualcuno con lo smartphone prima di stamparne molti.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con lo script Python, un README con le istruzioni passo passo e, dallo Standard, un file di impostazioni con dimensioni, colori e didascalie; il codice è visibile anche nella pagina dell'ordine.
  • Un codice per rigaLink, testi, biglietti da visita o dati del Wi-Fi
  • Per schermo o stampaPNG nella dimensione che imposta, o SVG scalabile
  • Nomi a modo suoFile con il nome preso da una colonna del suo elenco
  • Verifica di letturaDallo Standard, ogni codice viene decodificato per verificare che corrisponda
  • Codice leggibileCon commenti, facile cambiare l'aspetto in seguito

Come funziona

  1. 1
    ElencoLei invia un campione dell'elenco e come verranno usati i codici
  2. 2
    CodiceScriviamo lo script e la guida per eseguirlo
  3. 3
    Lo proviCrea i codici per poche righe e li scansiona con lo smartphone
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

10-20 righe del suo elenco in CSV o Excel, quale colonna va nel codice e quale dà il nome del file o la didascalia, e dove verranno usati i codici: schermo, adesivo, cartoncino o cartello, con la dimensione di stampa se la conosce. Colori se non nero su bianco, il suo logo in PNG o SVG per il Premium e l'impaginazione del foglio di etichette (formato della carta, codici per riga e per colonna). Il suo sistema: Windows, macOS o Linux.

Le chiederemo:

  • A cosa servono i codici?
  • Cosa va in ogni codice?
  • Schermo o stampa, e di che dimensione?

Confronto dei pacchetti

PacchettiBaseCodici da un elenco15 €StandardCodici con impostazioni30 €PremiumStrumento QR60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioPythonPythonPython
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Posso cambiare dove porta un codice dopo la stampa?

Non con questi codici: l'indirizzo è dentro il codice stesso. Se potrebbe doverlo cambiare, faccia puntare i codici a pagine del suo sito che può reindirizzare in seguito.

Può contare quante persone hanno scansionato un codice?

No, per contare serve un server tra il codice e la pagina, che questo script non ha. Può aggiungere parametri UTM ai suoi link e vedere le visite negli analytics del suo sito.

Un logo al centro è sicuro?

Un piccolo logo funziona quando il codice usa un'alta correzione degli errori, che il Premium imposta. La verifica di lettura e una scansione di prova con lo smartphone glielo confermano.

Quanti codici può creare?

Tanti quante sono le righe; migliaia richiedono un paio di minuti su un normale computer.

Non hai trovato la risposta?

Pacchetti