Vai al contenuto
Convertube

File CSV: il formato senza tipi, senza codifica e senza un comitato

Cos’è davvero un CSV, perché lo stesso file si apre diversamente in due fogli di calcolo e cosa dicono le regole sulle virgolette. Converti CSV nel browser.

In sintesi

Tipo
Documenti
Estensioni
.csv
Tipo MIME
text/csv

Un file .csv è un file di testo. Non c’è intestazione, non c’è versione, non ci sono informazioni sui tipi e niente di binario — aprine uno nel Blocco note e vedi ogni suo byte. Ogni riga è una riga della tabella, e qualcosa separa i campi. È tutto il formato, ed è il motivo per cui tutto lo sa scrivere e per cui non ci sono due programmi d’accordo su cosa significhi.

Leggi di più

È rimasto venticinque anni senza una specifica. La RFC 4180 è arrivata nel 2005 ed è dichiaratamente informativa e non uno standard — descrive ciò che fa la maggior parte delle implementazioni invece di dire a qualcuno cosa fare. Quello che fissa sono le virgolette: un campo che contiene il separatore, una virgoletta o un a capo viene racchiuso tra virgolette doppie, e una virgoletta dentro un campo del genere viene scritta due volte. Quella regola è la differenza tra "Widget, grande" come cella unica e come due celle, ed è la regola che i parser ingenui saltano.

Il separatore non è in modo affidabile una virgola. Un foglio di calcolo che lavora in una lingua in cui i decimali si scrivono 1,5 non può usare la virgola anche per separare i campi, quindi lì Excel esporta punti e virgola — sullo stesso computer, dallo stesso menu, producendo un file che il paese vicino non riesce ad aprire. Le esportazioni dei database spesso usano tabulazioni. Ogni strumento che legge bene i CSV indovina dalle prime righe, ed è ciò che fa anche questo sito.

Non c’è nemmeno una dichiarazione di codifica, ed è qui che i dati si perdono davvero. Un CSV di nomi cinesi salvato da un programma e aperto da un altro torna come caratteri incomprensibili perché uno presumeva UTF-8 e l’altro la tabella codici di sistema. E dato che ogni campo è testo senza tipo, un foglio di calcolo tira di nuovo a indovinare all’importazione: gli zeri iniziali spariscono dai codici articolo, gli identificativi lunghi diventano notazione scientifica e tutto ciò che sembra una data lo diventa. Il file andava bene; è la sua lettura che no.

Converti CSV in altri formati

Domande frequenti su CSV

Un CSV è solo un file di testo?

Sì, del tutto. Niente contenitore, niente compressione, niente di binario. Qualsiasi editor di testo lo apre, e ciò che vedi è ciò che contiene.

Perché il mio CSV usa i punti e virgola?

Perché è stato esportato in una lingua in cui la virgola è il separatore decimale, quindi la virgola non poteva separare anche i campi. È comunque un CSV, e qualsiasi lettore degno di questo nome rileva il separatore invece di darlo per scontato.

Perché sono spariti i miei zeri iniziali?

Perché il CSV non memorizza tipi e il foglio di calcolo ha tirato a indovinare. "007" sembra un numero, quindi è diventato 7. Il file non aveva niente che non andasse — ha deciso l’importazione. La maggior parte dei fogli di calcolo permette di impostare una colonna come testo durante l’importazione, che è l’unica soluzione affidabile.

Perché il mio testo cinese è illeggibile?

Perché il file non dichiara la sua codifica e il programma che lo apre ha indovinato in modo diverso da quello che l’ha scritto. Salvare in UTF-8 con il byte order mark è ciò che fa leggere correttamente il file a Excel, al prezzo di un marcatore che alcuni altri strumenti mostrano come caratteri spuri.

Posso convertire un CSV in PDF qui?

Sì. Viene analizzato come CSV invece di essere spezzato a ogni virgola, quindi i campi tra virgolette sopravvivono, e le colonne vengono dimensionate sul loro contenuto con la riga di intestazione in grassetto. Ciò che ottieni serve per leggere e stampare — niente in un PDF si può ordinare o sommare.

E la conversione in Excel?

Non serve: qualsiasi programma di fogli di calcolo apre direttamente un CSV, e convertire prima aggiunge solo un passaggio in cui i tipi vengono indovinati. La conversione che esiste qui è nella direzione opposta — da PDF a Excel, che ricostruisce una tabella da una pagina che non ne ha mai registrata una.