Le indicazioni valgono per file tabellari di uso comune. Non sostituiscono la documentazione tecnica degli strumenti che usi e non garantiscono l’integrità dei dati di partenza.
1. Perché la pulizia è decisiva
Un errore di calcolo di solito si vede: il risultato è assurdo. Un errore di pulizia produce invece un numero credibile, e per questo sopravvive fino alla pubblicazione. Se venti comuni sono scritti in due modi diversi, il conteggio per territorio restituisce quaranta righe e nessuna avvertenza; se un codice numerico perde gli zeri iniziali, l’unione con un’altra tabella fallisce silenziosamente.
Da qui la regola: prima si guarda il file, poi si calcola. Guardare significa contare, non scorrere con gli occhi. Il conteggio dei valori distinti per ogni colonna testuale e la lettura degli estremi per ogni colonna numerica richiedono pochi minuti e intercettano la maggior parte dei problemi strutturali.
2. Codifica e separatori
I file italiani portano spesso due tracce del proprio passato: una codifica dei caratteri non universale, che trasforma le lettere accentate in simboli, e il punto e virgola come separatore, scelto perché la virgola è usata come segno decimale. Entrambe le cose si dichiarano al momento dell’importazione, invece di correggerle dopo con sostituzioni a mano.
Il segno decimale è il problema più insidioso: un numero come 1.250,40 può essere letto come milleduecentocinquanta virgola quaranta oppure come uno virgola duecentocinquanta, a seconda delle impostazioni. Il controllo è semplice: sommare una colonna nota e confrontare con il totale dichiarato dalla fonte. Se il rapporto fra i due valori è vicino a mille, il segno decimale è stato interpretato male.
3. Le date, sempre
Le date sono il campo più fragile di qualsiasi tabella. I formati con giorno e mese invertiti generano errori che restano invisibili per i primi dodici giorni di ogni mese, quando entrambe le letture sono valide. Le date parziali, che indicano solo mese e anno, vengono spesso completate automaticamente con il primo giorno, creando una precisione inesistente.
La contromisura è duplice: importare le date come testo e convertirle in modo esplicito indicando il formato di origine, poi controllare gli estremi. Una data minima nel secolo scorso o una data futura in un archivio di eventi passati indicano una conversione sbagliata o un valore convenzionale usato per segnalare l’assenza del dato.
4. Nomi e identificatori
I nomi non sono identificatori. Denominazioni di enti e imprese variano per abbreviazioni, punteggiatura, forma societaria, maiuscole e spazi doppi. Unire due tabelle sui nomi produce corrispondenze mancate e, peggio, corrispondenze sbagliate fra soggetti omonimi. Quando esiste un codice ufficiale, si usa il codice; se manca, si costruisce una chiave normalizzata e si dichiara la regola usata.
La normalizzazione minima comprende: rimozione degli spazi in eccesso, uniformazione delle maiuscole, rimozione della punteggiatura, gestione separata della forma societaria. Dopo la normalizzazione il conteggio dei valori distinti deve scendere: se non scende, la regola non ha funzionato; se scende troppo, ha unito soggetti diversi e va rivista.
5. Valori mancanti
Un vuoto può significare quattro cose diverse: il dato non è stato comunicato, non è applicabile, è pari a zero, oppure è stato rimosso per riservatezza. Trattarle tutte allo stesso modo distorce ogni conteggio. Le fonti pubbliche usano spesso codici convenzionali — sigle come n.d. oppure valori numerici impossibili — che vanno identificati leggendo la nota metodologica.
L’analisi dei mancanti è informativa in sé: se sono concentrati in un territorio o in un periodo, qualsiasi confronto su quella dimensione è compromesso. La scelta fra escludere, mantenere come categoria separata o stimare va dichiarata insieme al numero di righe coinvolte. Le stime, quando servono, non si nascondono nei dati: si marcano.
6. Duplicati veri e falsi
Due righe identiche non sono necessariamente un duplicato: possono descrivere due eventi distinti con le stesse caratteristiche. E due righe diverse possono descrivere la stessa unità, se un campo è stato scritto in modo differente. Per questo la deduplicazione richiede una regola di identità scritta prima di eseguirla: quali campi definiscono l’unicità.
Il controllo utile è contare i duplicati prima di rimuoverli e ispezionarne un campione a mano. Se le righe rimosse sono molte, conviene capire perché: spesso il file contiene più estrazioni sovrapposte, riconoscibili da una data di estrazione diversa. In quel caso non si deduplica: si seleziona una sola estrazione e si dichiara quale.
7. Unità di misura e scale
Le colonne numeriche possono cambiare unità fra un’annualità e l’altra, o all’interno dello stesso file fra territori diversi. Il segnale tipico è un massimo mille volte più grande della mediana. Vanno cercate le intestazioni che indicano migliaia o percentuali e, quando l’indicazione manca, va verificato l’ordine di grandezza contro una fonte indipendente.
Le colonne che contengono già percentuali non si sommano e non si mediano senza ponderazione: la media di percentuali calcolate su basi diverse non corrisponde alla percentuale complessiva. Per ottenere il valore corretto servono numeratore e denominatore separati, sommati prima di essere rapportati.
8. Annotare ogni modifica
Ogni operazione va registrata nel momento in cui viene eseguita, con tre informazioni: che cosa è stato cambiato, per quale motivo, quante righe sono coinvolte. Il conteggio delle righe è il controllo più rapido: dopo ogni passaggio il totale deve corrispondere a quello atteso, e uno scarto anche di due righe indica un effetto non previsto.
Il file originale non si modifica mai. Si lavora su una copia e si conservano i risultati intermedi, così da poter individuare in quale passaggio si è introdotto un errore. Questa disciplina è la stessa che rende un lavoro riproducibile: senza note di trasformazione, nemmeno chi ha fatto la pulizia riesce a rifarla in modo identico.
Tabella di confronto
| Problema | Sintomo visibile | Correzione |
|---|---|---|
| Codifica errata | Lettere accentate sostituite da simboli | Reimportare dichiarando la codifica corretta |
| Separatore sbagliato | Tutte le colonne in una sola | Dichiarare il separatore in fase di importazione |
| Segno decimale | Totali mille volte maggiori o minori | Impostare il formato numerico locale e verificare un totale noto |
| Date invertite | Giorni oltre il dodici assenti o anomali | Importare come testo e convertire indicando il formato |
| Nomi non normalizzati | Valori distinti molto più numerosi del previsto | Usare un codice ufficiale o una chiave normalizzata dichiarata |
| Codici di assenza | Minimi negativi o valori ripetuti impossibili | Convertire in valori mancanti espliciti |
| Unità disomogenee | Massimo enormemente distante dalla mediana | Verificare le intestazioni e riportare tutto alla stessa scala |
Elenco di controllo della pulizia
- Il file originale è conservato intatto e si lavora su una copia.
- Codifica, separatore e segno decimale sono stati dichiarati all’importazione.
- Il numero di righe importate corrisponde a quello dichiarato dalla fonte.
- I valori distinti di ogni colonna testuale sono stati contati.
- Le date sono state convertite in modo esplicito e gli estremi sono plausibili.
- I codici convenzionali di assenza sono stati trasformati in valori mancanti.
- La regola di identità usata per la deduplicazione è scritta.
- Ogni trasformazione è annotata con motivo e numero di righe coinvolte.
Tre domande
Posso pulire i dati direttamente nel file originale?
No. L’originale resta intatto: è l’unico riferimento per verificare un dubbio o rifare il percorso. Le modifiche si applicano a una copia di lavoro, con le operazioni annotate in ordine cronologico.
Come tratto le righe con dati mancanti?
Prima si stabilisce che cosa significa il vuoto in quella fonte, leggendo la nota metodologica. Poi si sceglie fra escludere, mantenere come categoria separata o stimare, dichiarando la scelta e il numero di righe coinvolte. La scelta silenziosa è l’unica opzione da escludere.
Conviene usare un foglio di calcolo o uno script?
Entrambi funzionano se le operazioni sono annotate. Il foglio di calcolo è più rapido ma tende a nascondere le modifiche manuali; uno script rende leggibile il percorso ma richiede più tempo iniziale. Il controllo decisivo resta il doppio calcolo con due strumenti diversi.