Comma-separated values
Il comma-separated values (abbreviato in CSV e che letteralmente dalla lingua inglese significa "valori separati da virgola") è 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. Una delle definizioni più adottate è descritta nel documento RFC 4180.[1] Descrizione del formatoIn 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 e, in fase di importazione dei dati, occorre tener conto della trasformazione effettuata per suddividerli nelle righe e colonne originarie. Carattere che separa i campi![]() Nonostante CSV significhi letteralmente "valori separati da virgola", nei sistemi Microsoft Windows, alcuni programmi tra cui Microsoft Excel non utilizzano universalmente la virgola per il formato CSV. Al posto della virgola, viene adottato il separatore di elenco specificato nelle opzioni di internazionalizzazione (nel pannello di controllo) che cambia da paese a paese. In Excel, il valore predefinito è la virgola solo nei paesi anglosassoni ed è bensì il punto e virgola nei paesi come Spagna, Italia e Francia. Un possibile motivo dietro a questa scelta progettuale è che la virgola in questi paesi veniva già usata come separatore delle cifre decimali.[2] Altri software si attengono maggiormente alle linee guida definite nel documento RFC 4180.[1] Per esempio LibreOffice importa ed esporta documenti in CSV assumendo la virgola come separatore, a prescindere dal paese. Se un campo contiene già una virgola, allora il valore è racchiuso fra apici doppi o singoli (appunto come da documento RFC 4180). Data la necessità di essere inter-compatibili con le più diverse varianti del formato CSV, LibreOffice ha un'apposita schermata di importazione per supportare virgola, punto e virgola, spazi, e altre varianti comuni.[3] Esempi
L'esempio qui sopra si potrebbe rappresentare in CSV come: 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 Si noti che:
Note
Collegamenti esterni
|
Portal di Ensiklopedia Dunia