Pulire un file CSV: i problemi da controllare, in ordine
Per pulire un export CSV disordinato, correggilo a strati: prima i caratteri, poi la struttura, poi il significato di ogni colonna. Un CSV è un file di testo semplice, quindi la maggior parte dei problemi nasce da caratteri sbagliati, righe o separatori in più, oppure da valori che un programma legge in modo diverso da come li leggi tu. Correggi prima i caratteri. Uno spazio nascosto può impedire che una data venga riconosciuta come data, e le correzioni successive falliscono senza un motivo chiaro.
Pulizia file CSVCSV disordinato con vuoti e copieUsalo gratisCaratteri che sembrano giusti e non lo sono
Spazi di troppo. Uno spazio all’inizio o alla fine di una cella, o due spazi in mezzo a un valore, fa sì che «Berlin » e «Berlin» risultino due valori diversi per una ricerca, un filtro o un join.
Caratteri invisibili. Alcuni caratteri non occupano spazio sullo schermo:
- Lo spazio unificatore (U+00A0) sembra uno spazio normale ma è un carattere diverso. Le pagine web lo usano per tenere unite le parole.
- Lo spazio a larghezza zero (U+200B) non ha alcuna larghezza.
- Un byte order mark (U+FEFF) può trovarsi all’inizio del file, davanti alla prima intestazione. La colonna sembra «id» ma è in realtà «id», quindi una ricerca per «id» non va a buon fine.
Rimuovi caratteri nascosti mostra cosa trova prima di modificare qualsiasi cosa.
Lettere danneggiate. «Ã©» al posto di «é» è un problema di codifica chiamato mojibake. Il file è stato salvato in UTF-8, dove é occupa due byte, e poi letto come Windows-1252, dove quei due byte diventano due lettere senza alcun legame. Un apostrofo «’» diventa allo stesso modo «â€™». La soluzione è leggere il file come UTF-8, oppure esportarlo di nuovo dalla fonte scegliendo UTF-8. Riparare un testo già salvato in modo sbagliato è fragile, quindi conserva l’originale e lavora su una copia.
Struttura: righe di titolo, righe vuote e duplicati
I report iniziano spesso con un titolo, una data e una riga vuota prima dell’intestazione vera. Elimina tutto ciò che sta sopra la riga di intestazione, così che la prima riga contenga i nomi delle colonne. Ogni colonna deve avere un nome, e nessun nome deve essere vuoto.
Ogni riga dovrebbe avere lo stesso numero di campi. Una virgola di troppo dentro un valore non racchiuso tra virgolette aggiunge un campo, e ogni valore successivo scivola di una colonna a destra. Conta i campi di ogni riga: una riga con un numero diverso è rotta.
I duplicati sono di due tipi. Le righe identiche in tutte le colonne di solito derivano da un’esportazione o da un incolla fatto due volte, e si possono eliminare senza rischi. Le righe che condividono una chiave ma differiscono altrove possono essere aggiornamenti. Eliminare quella sbagliata può far perdere la versione più recente, quindi controllale prima.
Date: 03/04/2026 può indicare due giorni diversi
03/04/2026 è il 3 aprile in un Paese e il 4 marzo in un altro, e il testo non dice quale dei due. Guarda le altre date nella stessa colonna. Se un primo numero è superiore a 12, la colonna è in ordine giorno-mese. Se un secondo numero è superiore a 12, è in ordine mese-giorno. Se tutti i valori hanno entrambi i numeri pari o inferiori a 12, il file non può dirtelo: chiedi al sistema di origine. Il Controllo tipi di dati segnala una colonna del genere come ambigua invece di tirare a indovinare.
Quando conosci l’ordine, converti ogni data nel formato ISO 8601, anno-mese-giorno come 2026-04-03. È univoco e si ordina correttamente anche come testo. Converti i formati misti uno alla volta, perché una colonna con entrambi gli stili verrà letta in modo incoerente dalla maggior parte dei programmi.
Numeri salvati come testo
Un numero viene salvato come testo quando contiene un simbolo di valuta, un simbolo di percentuale o uno spazio al suo interno, come «€ 12», «45%» o «1 234» con uno spazio unificatore. Anche i separatori delle migliaia, come in «1,234.50», spesso fanno sì che un programma legga il valore come testo. Un foglio di calcolo allinea a sinistra i numeri come testo, e le somme li ignorano.
La virgola decimale è la trappola. In «1.234,50» la virgola è il separatore decimale, e il punto raggruppa le migliaia. In «1,234.50» è il contrario. Quindi «1,234» può valere 1234 in un export e 1.234 in un altro. Prima di convertire, individua l’impostazione regionale della fonte, poi rimuovi i separatori delle migliaia e trasforma la virgola decimale in un punto.
Gli zeri iniziali vengono persi
I codici postali, i codici prodotto e i numeri di conto spesso iniziano con degli zeri. Quando un CSV si apre in un foglio di calcolo, «01234» viene letto come il numero 1234 e gli zeri scompaiono. Salvare il file mantiene la perdita, quindi il sistema di origine è l’unica copia affidabile.
Un identificativo è testo, anche quando sembra un numero, perché con esso non si fanno mai calcoli. Disattiva la conversione in numeri per queste colonne quando pulisci il CSV, e riapri il file dalla fonte invece che da una copia salvata da un foglio di calcolo. Poi controlla il tipo di dati di ogni colonna, così una colonna di codici postali non torna silenziosamente a essere numerica. Excel può anche modificare i valori quando apre un CSV, quindi verifica il risultato in una vista di testo semplice.
Controlla i tipi, poi analizza le colonne
Dopo la pulizia, controlla il tipo di ogni colonna. Un solo «N/A» in una colonna di prezzi trasforma l’intera colonna in testo, e il totale risulta poi sbagliato. Il Controllo tipi di dati assegna a ogni colonna un tipo e un indice di affidabilità, ed elenca le celle che non rientrano.
Poi analizza le colonne. Il Profilatore colonne CSV mostra vuoti e valori anomali in ogni colonna. Un valore anomalo può essere reale, oppure un errore, come un prezzo mille volte più alto degli altri, che spesso deriva da un separatore decimale o delle migliaia messo nel punto sbagliato.
Casi particolari
- A capo tra virgolette. Un valore racchiuso tra virgolette può contenere un a capo. Uno strumento che divide il file per righe spezza quella riga in due, quindi usa un lettore che riconosca i campi tra virgolette.
- File con punto e virgola. Molti fogli di calcolo europei salvano i CSV con il punto e virgola, perché nella loro impostazione regionale la virgola è il separatore decimale. Controlla il separatore prima di leggere le colonne.
- Conserva l’originale. Salva il risultato pulito in un nuovo file e tieni l’export così com’era.
L’ordine, come checklist
- Conserva una copia dell’export originale.
- Rimuovi gli spazi di troppo e i caratteri invisibili. Correggi le lettere danneggiate alla fonte, se puoi.
- Elimina le righe del titolo, controlla i nomi delle intestazioni e verifica che ogni riga abbia lo stesso numero di campi.
- Trova i duplicati e decidi quale versione tenere.
- Converti le date in anno-mese-giorno, rimuovi i separatori e tratta gli identificativi come testo.
- Controlla il tipo di ogni colonna, poi analizzala per vuoti e valori anomali.
Risposte rapide
Perché la ricerca non funziona se i valori sembrano identici?
Di solito in una delle celle c’è uno spazio, uno spazio unificatore o un byte order mark. Rimuovi i caratteri nascosti e riprova.
Perché le mie date cambiano in qualcos’altro?
Un programma ha letto una data in ordine giorno-mese o mese-giorno nel verso sbagliato, oppure ha convertito il testo nel proprio formato data. Converti prima tu le date, in anno-mese-giorno.
Tradotto dal Originale in inglese con l'assistenza dell'IA.
Commenti
Nessun commento per ora. Sii il primo.


