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.

Esempio di risultato
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
Se in ufficio qualcuno apre ogni mattina lo stesso file Excel, copia i totali e li scrive in un'email, questo script Python può fare quella parte. Legge i file che indica, come l'esportazione delle vendite di ieri o un foglio di magazzino in una cartella condivisa, calcola ciò che chiede (totali, conteggi, medie per negozio o prodotto, le righe oltre un limite) e invia una breve email con una tabella ordinata alle persone che elenca, dal suo account di posta, con il file allegato dallo Standard. La password di invio dell'account di posta la inserisce lei nelle impostazioni; non finisce mai nel codice. I destinatari sono suoi colleghi o clienti, ben entro i limiti di invio del suo servizio di posta. Riporta le cifre dei suoi file; non le verifica né le spiega.
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 file, destinatari e parametri della posta; il codice è visibile anche nella pagina dell'ordine.
- Le sue cifreTotali, conteggi e medie a sua scelta
- Un'email leggibileUna breve tabella che si apre sullo smartphone
- Dalla sua casellaIl suo account di posta, password fuori dal codice
- File allegatoDallo Standard, il file Excel o un suo riepilogo
- Codice leggibileCon commenti, facile aggiungere una cifra in seguito
Come funziona
- 1CompitoLei invia un file di esempio e un esempio dell'email che desidera
- 2CodiceScriviamo lo script e la guida per eseguirlo
- 3Lo proviLo esegue con solo il suo indirizzo nell'elenco
- 4ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore
Cosa ci serve da lei
Uno dei file Excel da cui nasce il report, ridotto a poche righe o con le cifre modificate, dove compaiono i file (una cartella, un Drive condiviso) e come si chiamano, cosa deve mostrare l'email (la scriva come farebbe a mano), chi la riceve e da quale account di posta (basta il nome del servizio di posta; la password la inserisce lei). Quando deve partire, e il computer su cui girerà: Windows, macOS o Linux.
Le chiederemo:
- Da quali file nasce il report?
- Cosa deve mostrare l'email?
- Chi la riceve, e quando?
- Dove verrà eseguito?
Confronto dei pacchetti
| Pacchetti | BaseUn report15 € | StandardReport con impostazioni30 € | PremiumStrumento di report60 € |
|---|---|---|---|
| Tempi di consegna | 1 giorno | 2 giorni | 3 giorni |
| Revisioni | 1 | 2 | 3 |
| Codice | fino a 150 righe | fino a 400 righe | fino a 1.000 righe |
| File di codice | 1 | fino a 3 | fino a 8 |
| File di impostazioni | No | Sì | Sì |
| Messaggi di errore chiari e un log | No | Sì | Sì |
| Opzioni di avvio e una guida per eseguirlo a orari programmati | No | No | Sì |
| Guida all'installazione e all'avvio (README) | Sì | Sì | Sì |
| Linguaggio | Python | Python | Python |
| Ordina Base | Ordina Standard | Ordina 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.
Domande e risposte
Invierà il report ogni giorno da solo?
Invia un report ogni volta che viene eseguito. Il Premium include una guida per eseguirlo ogni mattina con l'Utilità di pianificazione, cron o launchd; con il Base o lo Standard lo avvia lei o lo programma per conto suo. A quell'ora il computer deve essere acceso.
Con quali account di posta funziona?
Con la maggior parte dei servizi che permettono l'invio tramite SMTP, compresa la comune posta aziendale e personale. Alcuni richiedono di creare una password per le app; il README mostra dove.
I miei file sono in Fogli Google, non in Excel. Funziona?
In quel caso è più adatto un Google Apps Script dentro il foglio, che invia dal suo Gmail; lo indichi nel brief e lo scriveremo invece in Apps Script.
Può inviare il report ai miei clienti?
Sì, a persone che lo aspettano, come clienti che hanno chiesto un elenco giornaliero delle giacenze. Non è pensato per invii di massa né per liste che non ha raccolto lei.
Non hai trovato la risposta?