Comma-separated values

format de données ouvert
(Redirigé depuis Comma separated values)

Comma-separated values, connu sous le sigle CSV, est un format texte ouvert représentant des données tabulaires sous forme de valeurs séparées par des virgules. Ce format n'a jamais vraiment fait l'objet d'une spécification formelle. Toutefois, la RFC 4180[1] décrit la forme la plus courante et établit son type MIME « text/csv », enregistré auprès de l'IANA.

Comma-separated values
Caractéristiques
Extension
.csvVoir et modifier les données sur Wikidata
Type MIME
text/csvVoir et modifier les données sur Wikidata
Type de format
Norme
(en) RFC 4180[1]
Spécification

Un fichier CSV est un fichier texte, par opposition aux formats dits « binaires ». Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes. Les portions de texte séparées par une virgule correspondent ainsi aux contenus des cellules du tableau. Une ligne est une suite ordonnée de caractères terminée par un caractère de fin de ligne (line breakLF ou CRLF), la dernière ligne pouvant en être exemptée.

Exemple

modifier
Fichier au format .csv Représentation tabulaire
Sexe,Prénom,Année de naissance
M,Alphonse,1932
F,Béatrice,1964
F,Charlotte,1988
Sexe Prénom Année de naissance
M Alphonse 1932
F Béatrice 1964
F Charlotte 1988

Variantes françaises

modifier

Le fait que les fichiers CSV soient essentiellement utilisés autour de logiciels tableur comme Microsoft Excel, et que les séparateurs ne soient pas standardisés (virgules, points-virgules sous certaines localisations dont la française, etc.) rend ce format peu pratique pour une utilisation autre que des échanges de données ponctuels. Ce format est toutefois assez populaire parce qu'il est relativement facile à générer.

Les champs texte peuvent également être délimités par des guillemets. Lorsqu'un champ contient lui-même des guillemets, ils sont doublés afin de ne pas être considérés comme début ou fin du champ. Si un champ contient un signe utilisé comme séparateur de colonne (virgule, point-virgule, tabulation, etc.) ou comme séparateur de ligne (généralement le caractère de retour à la ligne), les guillemets sont obligatoires afin que ce signe ne soit pas confondu avec un séparateur.

Exemple, avec des champs séparés par des points-virgules et des guillemets :

Robert;Dupont;rue du Verger, 12;…
"Michel";"Durand";" av. de la Ferme, 89 ";…
"Michel ""Michele""";"Durand";" av. de la Ferme, 89";…
"Michel;Michele";"Durand";"av. de la Ferme, 89";…

Ce texte représente les données suivantes :

Robert Dupont rue du Verger, 12
Michel Durand av. de la Ferme, 89
Michel "Michele" Durand av. de la Ferme, 89
Michel;Michele Durand av. de la Ferme, 89

Alternatives

modifier

Le format CSV présente entre autres inconvénients, d'être interprété par certains tableurs comme étant au format anglais (séparateur de colonnes : virgule ; séparateur de décimales : point) ou format de France (séparateur de colonnes : point-virgule ; séparateur de décimales : virgule) en fonction de l'origine du fichier : sur disque, par HTTP, support amovible… Une alternative simple est d'utiliser le format TSV (parfois aussi nommé TAB, ou encore "données tabulées au format texte"), dont le caractère séparateur est une tabulation dans tous les cas, quels que soient la localisation et le logiciel.

Une alternative ouverte pour s'affranchir de cette limitation est le XML pour l'import sur un tableur. Beaucoup d'éditeurs de logiciels définissent des formats ouverts ou privateurs alternatifs. Par exemple le format SYLK présente l'avantage d'être un format texte et d'être indépendant de la langue de Microsoft Excel (anglais, français…). Il peut intégrer des formules mathématiques simples et contrôler certaines propriétés des cellules. De plus, les cellules du tableur peuvent être remplies dans le désordre.

Notes et références

modifier

Voir aussi

modifier

Sur les autres projets Wikimedia :

Articles connexes

modifier

Liens externes

modifier
  • (en) CSV-1203 : spécification de format de fichier pour applications Business-to-Business