# Pulisci un CSV disordinato senza perdere righe

Una checklist pratica per pulire i CSV: date, identificativi, duplicati, valori mancanti e riconciliazione riga per riga.

Canonical page: https://beeuni.ai/blog/it/clean-messy-csv-without-losing-rows

Un CSV pulito può sembrare migliore e contenere comunque errori. Gli zeri iniziali scompaiono, le date ambigue vengono interpretate con il mese sbagliato e la rimozione dei duplicati può cancellare transazioni legittime. Conserva intatto il file originale e fai in modo che ogni trasformazione sia riconducibile a una riga di origine.

Supponiamo che il report degli ordini si trovi in un foglio di calcolo collegato, in un drive condiviso o in una dashboard web. Indica a Beeuni dove si trova il report e specifica l'intervallo di date. Se dispone della connessione necessaria o dell'accesso al browser, l'agente può recuperare i dati e salvare una copia originale prima di pulirli.

Chiedi all'agente di esaminare prima la copia salvata. Prima di modificare i valori, dovrebbe indicare il delimitatore, la codifica, le intestazioni, il numero di righe analizzate e i record malformati. Un semplice conteggio delle righe non basta, perché un campo CSV tra virgolette può contenere un'interruzione di riga. Conserva insieme alla copia il link al report, l'ora del recupero e i filtri, così potrai spiegare quali record sono stati inclusi.

## Definisci regole per le colonne importanti

| Colonna | Regola di pulizia | Da lasciare in revisione |
| --- | --- | --- |
| ID ordine | Leggi come testo e conserva gli zeri iniziali | Identificativi mancanti o record in conflitto |
| Data | Usa date ISO quando il formato della fonte è noto | Valori ambigui come 03/04/2026 |
| Importo | Interpreta in base alla convenzione decimale indicata | Separatori misti o valori illeggibili |
| Valuta | Mantieni una valuta esplicita per ogni riga | Importi senza valuta nota |
| Stato | Applica una mappatura di etichette approvata | Etichette dal significato poco chiaro |

Decidi cosa considerare un duplicato prima di rimuovere qualsiasi riga. Un ID ordine può comparire su più righe relative a singoli articoli. Due importi uguali possono riferirsi ad acquisti diversi. Inizia contrassegnando i possibili duplicati e spiegando i criteri di corrispondenza. Elimina le righe solo se disponi di una regola che distingue le copie accidentali dai record validi.

## Richiedi tre risultati

```
Retrieve the report from the connection or page I specify, using the agreed date range.
Save an unchanged source copy and record its origin and filters.
Write and run a cleanup script using the agreed column rules.
Add source_row_number before sorting or filtering.
Keep all successfully parsed source rows in cleaned.csv.
Flag uncertain values instead of guessing.
Put malformed records and issues in review.csv, with reasons.
Write checks.txt with row counts, changed fields, and totals by currency.
Do not overwrite the source or update the live report.
```

Lascia vuoti gli importi mancanti, a meno che tu non sappia che corrispondono a zero. Registra separatamente una conversione della data non riuscita e una data assente nella fonte. Altrimenti perderai le informazioni necessarie per correggere la riga in seguito.

## Riconcilia prima dell'importazione

- **Righe:** ogni record di origine deve comparire nell'output pulito oppure nel report dei record malformati. Indica separatamente le esclusioni.
- **Identificativi:** controlla i valori con zeri iniziali e le stringhe numeriche lunghe con un visualizzatore di testo semplice.
- **Totali:** confronta gli importi per valuta prima e dopo la pulizia. Non sommare valute diverse tra loro.
- **Modifiche:** esamina un campione di record per ogni trasformazione, inclusi gli spazi rimossi, gli stati mappati e le date convertite.
- **Destinazione:** importa un piccolo campione nell'applicazione di destinazione e controlla come interpreta le date e i campi di testo.

Alcune applicazioni per fogli di calcolo rimuovono gli zeri iniziali quando aprono un CSV. Se succede, controlla il file grezzo e importa la colonna ID come testo. Dopo aver esaminato il risultato, puoi chiedere all'agente di scriverlo in un nuovo foglio o in un'altra destinazione tramite uno strumento collegato che supporti questa operazione. Conferma la destinazione e verifica i record importati; lascia invariato il report originale.
