Se hai mai aperto un foglio di calcolo esportato da qualche software e hai trovato un pasticcio incomprensibile invece di colonne ordinate, un problema di delimitatore CSV è quasi certamente la causa. Capire cosa sono i delimitatori, quali usare e quando infrangere le regole può farti risparmiare ore di frustrazione.
Cos'è un delimitatore CSV?
Un file CSV (Comma-Separated Values, ovvero valori separati da virgola) è un file di testo semplice che memorizza dati tabulari. Ogni riga è un record e un carattere speciale chiamato delimitatore separa i singoli valori all'interno di quella riga. Senza un delimitatore, il file è solo un blocco di testo privo di struttura.
Il delimitatore più comune è la virgola, da cui deriva la "C" in CSV. Tuttavia il termine "CSV" è diventato un'espressione generica per qualsiasi file di testo delimitato, compresi quelli che usano tabulazioni, pipe o punti e virgola.
Lo standard RFC 4180
RFC 4180 è quanto di più simile a un regolamento ufficiale esista per il formato CSV. Pubblicato dall'Internet Engineering Task Force (IETF), definisce un formato comune affinché diversi strumenti possano scambiarsi file CSV in modo affidabile. Non è una legge vincolante, ma seguirlo rende i tuoi file molto più portabili.
Ecco le regole principali dell'RFC 4180:
- Ogni record si trova sulla propria riga, terminata da un'interruzione di riga CRLF.
- L'ultimo record nel file può avere o meno un'interruzione di riga finale.
- Una riga di intestazione opzionale può apparire come prima riga.
- I campi che contengono virgole, virgolette doppie o interruzioni di riga devono essere racchiusi tra virgolette doppie.
- Una virgoletta doppia all'interno di un campo quotato deve essere preceduta da un'altra virgoletta doppia come carattere di escape.
Racchiudi sempre i campi tra virgolette doppie se potrebbero contenere il carattere delimitatore scelto. Saltare questo passaggio è la causa principale di importazioni CSV non riuscite.
Tipi di delimitatori comuni
Diversi strumenti e aree geografiche hanno adottato delimitatori predefiniti differenti. Ecco una panoramica rapida dei più comuni e di quando vengono utilizzati.
| Delimitatore | Carattere | Caso d'uso comune |
|---|---|---|
| Virgola | , | Predefinito per la maggior parte degli strumenti e database in lingua inglese |
| Punto e virgola | ; | Predefinito nelle impostazioni regionali europee dove la virgola è usata come separatore decimale |
| Tabulazione | \t | File TSV, esportazioni Excel, dati bioinformatici |
| Pipe | | | Dati che contengono frequentemente virgole, come i campi indirizzo |
| Caret | ^ | Sistemi legacy e scambio dati EDI |
Come scegliere il delimitatore giusto
La regola d'oro è semplice: scegli un carattere che non appaia mai nei tuoi dati effettivi. Se i tuoi dati contengono descrizioni di prodotti piene di virgole, un delimitatore a virgola causerà errori in ogni importazione. In tal caso, un pipe o una tabulazione sono scelte molto più sicure.
Alcuni consigli pratici per aiutarti a decidere:
- Verifica se il sistema di destinazione ha un delimitatore richiesto o preferito prima di esportare.
- Per indirizzi o campi di testo libero, evita del tutto virgole e punti e virgola.
- I file delimitati da tabulazione funzionano bene per i dati numerici, poiché i numeri raramente contengono caratteri di tabulazione.
- Se devi usare la virgola e i tuoi dati contengono virgole, quota sempre ogni campo in modo coerente.
Hai bisogno di cambiare delimitatore rapidamente? Il convertitore di delimitatori online di Delimiter.site ti permette di incollare i tuoi dati e passare da virgola a pipe, da tabulazione a punto e virgola, o qualsiasi combinazione ti serva, all'istante.
Problemi comuni e come risolverli
La maggior parte dei problemi CSV rientra in un insieme prevedibile di pattern. Sapere cosa cercare velocizza notevolmente il debug.
I problemi più frequenti sono campi non quotati che contengono il delimitatore, conteggi di colonne diversi tra le righe e problemi di codifica con caratteri speciali. Un contatore di righe può indicarti rapidamente se il numero di righe è corretto dopo un passaggio di importazione o esportazione.
Se il tuo file sembra avere campi duplicati o strane colonne vuote, è molto probabile che un carattere di virgoletta all'interno di un campo non sia stato correttamente sottoposto a escape secondo le regole di escape dell'RFC 4180. Torna alla sorgente e assicurati che le virgolette doppie all'interno dei valori siano raddoppiate.
Suggerimento: se condividi un file CSV con partner internazionali, specifica sempre il delimitatore e la codifica (UTF-8 è la scelta più sicura) nella documentazione. Non dare per scontato che indovineranno correttamente.
Punti chiave
- Un delimitatore CSV è il carattere che separa i valori all'interno di ogni riga di un file di testo semplice.
- RFC 4180 è lo standard seguito dalla maggior parte degli strumenti, ma non è applicato universalmente, quindi verifica sempre cosa si aspetta il sistema di destinazione.
- Scegli un delimitatore che non compaia nei tuoi dati per evitare errori di parsing.
- Quota sempre i campi che contengono il carattere delimitatore, interruzioni di riga o virgolette doppie.
- Puoi cambiare il delimitatore CSV rapidamente con uno strumento online gratuito se il tuo formato non corrisponde a quello atteso dal sistema.
Imposta i delimitatori correttamente fin da subito
I file CSV sembrano semplici in superficie, ma una scelta sbagliata del delimitatore o una virgoletta mancante possono mandare in tilt un'intera pipeline. Seguire l'RFC 4180 e riflettere attentamente sul contenuto dei dati prima di scegliere un separatore ti farà risparmiare tempo prezioso. Quando hai bisogno di riformattare un file velocemente, il Delimiter Tool è a tua disposizione.