Convertitore gratuito da testo a CSV

Converti dati testuali tabulari in formato CSV. Rilevamento automatico dei separatori, gestione delle virgolette e anteprima prima del download.

I tuoi dati non lasciano mai il tuo dispositivo

Informazioni sul formato CSV

Il CSV (Comma-Separated Values, valori separati da virgole) è un formato testo semplice per memorizzare dati tabulari. Ogni riga rappresenta un record, e i valori sono separati da virgole. Il CSV è ampiamente supportato dai fogli di calcolo, dai database e dagli strumenti di analisi.

Perché convertire in CSV?

Domande frequenti

Quali separatori supporta lo strumento?

Rileva automaticamente tabulazione, spazio, virgola, punto e virgola e barra verticale. Puoi anche definire un separatore personalizzato di un solo carattere.

Come gestire i campi che contengono una virgola?

Attiva l'opzione «Metti tra virgolette i campi contenenti una virgola» per circondarli di virgolette, il che li rende conformi al CSV.

Posso includere un'intestazione?

Sì, attiva l'opzione «Includi una riga di intestazione» se la tua prima riga contiene i nomi delle colonne.

Una breve storia del CSV, più antico della specifica che lo definisce

Il CSV è il formato che tutti usano e che non appartiene a nessuno. La sua discendenza è informale. L'uso documentato più antico della convenzione dei valori separati da virgola risale al 1972, quando IBM Fortran (livello H esteso) supportava l'input/output diretto da lista in cui le virgole fungevano da separatori tra i valori su una riga. Per tutti gli anni '70 e '80, ogni database, foglio di calcolo, pacchetto statistico e applicazione di contabilità che doveva scambiare dati con un altro strumento inventava in modo indipendente una qualche variante di «valori separati da un certo carattere su righe separate da un altro carattere.» Non c'era alcuna specifica. Non c'era alcun ente di governo. Non c'era alcuna implementazione canonica. C'era solo il consenso, nel senso più lasco possibile.

Entro i primi anni 2000, il costo del caos divenne impossibile da ignorare. La IETF alla fine accettò una specifica, la RFC 4180, «Common Format and MIME Type for Comma-Separated Values (CSV) Files,» pubblicata nell'ottobre 2005 da Yakov Shafranovich. La RFC 4180 è breve, appena una manciata di pagine, e codificò ciò su cui la maggior parte delle persone era già convergita: una virgola come separatore di campo, le virgolette doppie come carattere di delimitazione opzionale per i campi che contengono virgole, virgolette o a capo, le virgolette doppie raddoppiate ("") come modo per fare l'escape di una virgoletta letterale all'interno di un campo tra virgolette, il CRLF come terminatore di riga, e text/csv come tipo MIME registrato presso la IANA. La specifica definì anche un parametro header opzionale per il tipo MIME, così che un mittente potesse dire a un destinatario se la prima riga è una riga di intestazione.

La RFC 4180 è informativa, non uno standard rigoroso. La conformità ad essa è volontaria. Ma ci dà un obiettivo, la cosa più vicina che il CSV abbia a una definizione di «corretto.» Un documento successivo, il W3C «Model for Tabular Data and Metadata on the Web» (CSVW, 2015), provò a estendere la parte dei metadati del CSV allegando un file JSON affiancato che dice cos'è ogni colonna e come interpretarla. CSVW è ampiamente citato e raramente messo in pratica.

«CSV» sul campo non significa ciò che la RFC 4180 dice che significhi

Chiunque abbia dovuto ricevere un CSV da uno sconosciuto conosce la forma del problema. I disaccordi si scompongono lungo diversi assi:

La trappola del BOM

Questo merita una sezione a sé perché è la singola fonte più comune di grattacapi CSV multipiattaforma. Microsoft Excel non rileverà automaticamente un CSV codificato in UTF-8 a meno che il file non inizi con una marca dell'ordine dei byte (BOM) UTF-8: i tre byte EF BB BF, che codificano il carattere Unicode U+FEFF. Senza il BOM, Excel apre il file nella code page legacy del locale Windows dell'utente (Windows-1252 in Occidente, Shift_JIS in Giappone, GBK nella Cina continentale). Qualsiasi carattere non ASCII (lettere accentate, simboli di valuta, emoji, caratteri CJK) viene alterato.

La soluzione è anteporre il BOM. Il costo è che tutto il resto va in difficoltà con esso. Apple Numbers (fino alle versioni recenti) mostra il BOM come un carattere letterale nella prima cella. Molti strumenti da riga di comando (awk, cut, le versioni più vecchie di sed) trattano il BOM come parte del primo campo, così un'intestazione che dovrebbe essere name si legge name. La maggior parte dei parser CSV in JavaScript lo rimuove; molti vecchi flussi di lavoro del modulo csv di Python no (devi aprire il file con il codec utf-8-sig). Poiché uno strumento online gratuito non può sapere dove l'utente aprirà il file, omettere il BOM e documentare che gli utenti di Excel dovrebbero usare Dati → Da testo/CSV (che consente sempre all'utente di scegliere UTF-8 esplicitamente) è un'impostazione predefinita ragionevole.

Excel offre almeno quattro formati «CSV»

La finestra di dialogo «Salva con nome» di Excel offre più di una variante CSV, e le differenze contano:

L'etichetta rivolta all'utente dice «CSV» in quattro modi diversi. Il contenuto effettivo del file è sostanzialmente diverso. Questa è la realtà pratica in cui opera il convertitore.

Perché convertire testo → CSV, nello specifico

La maggior parte degli «strumenti CSV» online va nella direzione inversa: prende un CSV ed emette qualcos'altro (JSON, una tabella HTML, una INSERT SQL, un PDF stampabile). Questo va nel verso opposto: prende testo disordinato e produce un CSV pulito. È il caso d'uso per:

Excel riscriverà i tuoi dati, a volte in silenzio

Una manciata di trappole del CSV morde anche gli utenti attenti:

Dove si colloca questo strumento tra le alternative moderne al CSV

Il CSV sopravvive perché è testo e gli esseri umani possono leggerlo. Per lo scambio serio di dati, diversi formati gli hanno mangiato il pranzo su dimensioni specifiche:

Per un convertitore online gratuito rivolto a sviluppatori e impiegati d'ufficio, il CSV resta il formato di output giusto perché è la lingua franca dell'importazione di dati ovunque. Le alternative moderne esistono; non hanno soppiantato il CSV nella casella di posta.

Altre domande

Dovrei aggiungere un BOM UTF-8 all'output?

Se il file è destinato al doppio clic in Excel su Windows, sì: senza il BOM, Excel lo apre nella code page legacy e altera il testo non ASCII. Se è destinato a qualsiasi altra cosa (Apple Numbers, script da riga di comando, moduli di caricamento web), ometti il BOM. Il percorso più sicuro è omettere il BOM e istruire gli utenti di Excel a importarlo tramite Dati → Da testo/CSV, dove possono scegliere UTF-8 esplicitamente.

Il mio CSV si apre con una cella per riga in Excel, cosa è andato storto?

Quasi sempre una discordanza di separatore. Ti trovi in un locale in cui Excel si aspetta i punti e virgola (gran parte dell'Europa continentale), ma il file usa le virgole, o viceversa. Apri con Dati → Da testo/CSV invece di fare doppio clic; quella procedura guidata ti consente di scegliere il delimitatore esplicitamente. Oppure salva il file dal menu Salva con nome di Excel usando la variante che corrisponde al tuo separatore locale.

Qual è la differenza tra TSV e CSV?

Il TSV usa i caratteri di tabulazione come separatore anziché le virgole, con un proprio tipo MIME text/tab-separated-values e registrazione presso la IANA. Il vantaggio del TSV è che i dati del mondo reale raramente contengono tabulazioni letterali, quindi il quoting non è quasi mai necessario; lo svantaggio è che le tabulazioni sono invisibili negli editor di testo e il comportamento di copia-incolla varia. Il meccanismo di quoting del CSV lo rende sicuro per i campi che contengono il delimitatore; il TSV per lo più evita del tutto il problema.

Esiste un linter CSV che posso eseguire prima di condividere il mio file?

Sì: per l'uso da riga di comando, csvclean di csvkit segnala le righe con il numero sbagliato di colonne. La CLI frictionless di Frictionless Data valida rispetto a uno schema opzionale. Per il lavoro nel browser, PapaParse segnala gli errori di analisi riga per riga. La validazione rigorosa rispetto alla RFC 4180 (fine riga CRLF, escape con virgolette raddoppiate) è rara nella pratica; la maggior parte dei parser accetta una qualsiasi delle varianti comuni.

Strumenti correlati