For faster navigation, this Iframe is preloading the Wikiwand page for Comma-separated values.

Comma-separated values

Da Wikipedia, l'enciclopedia libera.

Il comma-separated values (abbreviato in CSV) è un formato di file basato su file di testo utilizzato per l'importazione ed esportazione (ad esempio da fogli elettronici o database) di una tabella di dati.

Non esiste uno standard formale che lo definisca, ma solo alcune prassi più o meno consolidate.[1]

Descrizione del formato

In questo formato, ogni riga della tabella (o record della base dati) è normalmente rappresentata da una linea di testo, che a sua volta è divisa in campi (le singole colonne) separati da un apposito carattere separatore, ciascuno dei quali rappresenta un valore.

Il formato CSV non specifica una codifica di caratteri, né la convenzione per indicare il fine linea (nei sistemi operativi Unix e Unix-like viene usato il carattere ASCII line-feed, nei sistemi operativi Microsoft Windows si usa la sequenza di caratteri ASCII carriage return+line-feed, mentre in altri può essere usato il solo carattere carriage return), né il carattere da usare come separatore tra campi e nemmeno convenzioni per rappresentare date o numeri (tutti i valori sono considerati come semplici stringhe di testo) e se la prima riga è solo di intestazione o meno. Questi dettagli possono dover essere specificati dall'utente tutte le volte che si importano o esportano dati in formato CSV in un programma come ad esempio un foglio elettronico.

Nel caso più semplice non sono ammessi valori che contengano caratteri di fine linea o il carattere che separa i campi: in questo caso, ad ogni riga della tabella corrisponde esattamente una linea di testo.

Per ovviare a questo limite si ricorre alla codifica che segue: se il valore contiene caratteri di fine linea, il carattere separatore o i doppi apici ("), esso viene racchiuso tra doppi apici e quelli eventualmente presenti nel valore sono raddoppiati. Ad esempio il valore

foo, "bar" 
baz 

viene trasformato in

"foo, ""bar""
baz"

Con questa codifica, una riga (o record) può essere rappresentata con più linee di testo, ed in fase di importazione dei dati occorre tener conto della trasformazione effettuata per suddividerli nelle righe e colonne originarie.

Carattere che separa i campi

Nei sistemi operativi Microsoft Windows alcuni programmi (tra cui Microsoft Excel) utilizzano come carattere separatore tra i campi il separatore di elenco specificato nelle opzioni di internazionalizzazione (nel pannello di controllo). Il valore predefinito è la virgola nei paesi anglosassoni, ed il punto e virgola nei paesi come Spagna, Italia e Francia (ove la virgola viene usata come separatore delle cifre decimali).

Esempi

OPERA AUTORE CASA EDITRICE
I Robot e l'Impero Isaac Asimov Mondadori
Il lungo meriggio della Terra Brian W. Aldiss Minotauro
Absolute OpenBSD "2d Edition" Michael W. Lucas No Starch Press
I mercanti dello spazio Frederik Pohl; C. M. Kornbluth Mondadori

L'esempio qui sopra si potrebbe rappresentare in CSV come:

OPERA;AUTORE;CASA EDITRICE\n
I Robot e l'Impero;Isaac Asimov;Mondadori\n
Il lungo meriggio della Terra;Brian W. Aldiss;Minotauro\n
"Absolute OpenBSD ""2d Edition""";Michael W. Lucas;No Starch Press\n
I mercanti dello spazio;"Frederik Pohl; C. M. Kornbluth";Mondadori\n

Si noti che:

  1. i campi sono separati da punto e virgola.
  2. i campi testuali possono essere delimitati da un carattere qualificatore (es esempio le virgolette: ") al fine di consentire l'utilizzo di caratteri speciali (utilizzati come separatori di campi); È buona prassi utilizzare tale convenzione per qualsiasi valore del campo e non solo all'occorrenza (molti interpreti potrebbero non essere in grado di leggere correttamente quest'ultimo caso);
  3. le linee sono separate da un carattere 'a capo' ad esempio \n;
  4. è preferibile non lasciare spazi prima e dopo i campi (se intenzionali, tali spazi vanno racchiusi tra virgolette);
  5. per rappresentare un carattere all'interno di un campo, che coincide con il qualificatore di testo, occorre raddoppiarlo (ad esempio: " diventa "");
  6. per rappresentare un'interruzione di riga in un campo, occorre rappresentarlo in un campo testuale delimitato dal qualificatore (esempio: tra virgolette).

Note

  1. ^ (EN) RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files, su tools.ietf.org. URL consultato il 14 marzo 2009.
Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
{{bottomLinkPreText}} {{bottomLinkText}}
Comma-separated values
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.