Script per ordinare fileSviluppo e personalizzazione

Uno script Python che ordina una cartella disordinata in sottocartelle per tipo, data o nome, secondo le sue regole

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 ordina una cartella disordinata in sottocartelle per tipo, data o nome, secondo le sue regole

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

Una cartella Download, una cartella condivisa di scansioni o la scheda di una fotocamera diventano presto migliaia di file mescolati. Questo script Python li mette al loro posto secondo le sue regole: per tipo (i PDF in Documenti, le foto in Immagini), per data in cartelle di anno e mese, o per parole nel nome, come il nome di un cliente o un numero di fattura. Può copiare o spostare i file, crea le cartelle necessarie e, quando c'è già un file con lo stesso nome, aggiunge un numero invece di sostituirlo. Ci invii la struttura di cartelle che desidera e le regole. Lo esegue lei sul suo computer, quindi lo provi prima su una copia. Non viene eliminato nulla: i file cambiano solo posto, e solo dentro le cartelle che indica.

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 le sue cartelle e regole; il codice è visibile anche nella pagina dell'ordine.
  • Per tipo, data o nomeLe regole che imposta, nell'ordine che sceglie
  • Copia o spostaSceglie lei; gli originali possono restare dove sono
  • Al sicuro con i nomiUn file con un nome già usato riceve un numero, nulla viene sostituito
  • Prova a vuotoDallo Standard, un'esecuzione che elenca solo cosa andrebbe dove
  • Codice leggibileCon commenti, facile aggiungere una regola in seguito

Come funziona

  1. 1
    RegoleLei descrive le cartelle che desidera e come ci finiscono i file
  2. 2
    CodiceScriviamo lo script e la guida per eseguirlo
  3. 3
    Lo proviLo esegue su una copia della cartella
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

Quale cartella ordinare e circa quanti file contiene, le cartelle che vuole ottenere e la regola per ciascuna: tipi di file, data (presa dal file o dal nome) o parole nel nome. Se i file vanno copiati o spostati, cosa fare con i file a cui non si applica nessuna regola, e il suo sistema: Windows, macOS o Linux. Uno screenshot della cartella o un elenco di 10-20 nomi di file aiuta molto.

Le chiederemo:

  • Quale cartella va ordinata?
  • Quali cartelle deve creare, e cosa va dove?
  • Copiare o spostare?
  • Dove verrà eseguito?

Confronto dei pacchetti

PacchettiBaseUna cartella, una regola15 €StandardOrdinamento con impostazioni30 €PremiumStrumento di ordinamento60 €
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

Può eliminare duplicati o file inutili?

Non elimina nulla. Può mettere i file a cui non si applica nessuna regola, o le copie con lo stesso nome e dimensione, in una cartella separata che lei esamina ed elimina personalmente.

Può ordinare i file man mano che arrivano?

Ordina ciò che c'è nella cartella ogni volta che lo avvia. Il Premium aggiunge una guida per eseguirlo a orari programmati con l'Utilità di pianificazione, cron o launchd, per esempio ogni ora.

Funziona con una cartella di rete o nel cloud?

Sì, se la cartella è sincronizzata sul suo computer e appare come una cartella normale. Non accede ai servizi cloud.

Ordinate voi i file per me?

No. Lo script lo esegue lei sul suo computer, quindi i suoi file restano con lei. Ci basta un elenco di nomi o uno screenshot.

Non hai trovato la risposta?

Pacchetti