DE FR IT

CSV

Informations générales

Titre Comma-Separated Values ; Colon-Separated Values ; Character-Separated Values
Catégorie Données structurées
Abréviation CSV
Extension de fichier .txt, .csv
Mime Type text/CSV - text/comma-separated-values
Pronom PUID x-fmt/18
Version Il n’existe pas de norme générale du format de fichiers CSV. Une spécification RFC du format d’un fichier CSV existe et est publiée sous la référence : https://tools.ietf.org/html/rfc4180.

   

Description

Les données CSV sont des fichiers ASCII structurés sous forme de tableau. Les valeurs, les champs ou les colonnes individuelles sont séparés par un délimiteur, par exemple une virgule ou un point-virgule. Les lignes des tableaux sont séparées par un saut de ligne. Lors du transfert d’une base de données relationnelle dans des fichiers CSV, chaque tableau de la base de données est transféré dans un fichier CSV.
Les différentes variantes et quasi-normes du format de fichier CSV se distinguent par le masquage des délimiteurs et du retour automatique à la ligne dans les champs.

Deux variantes CSV sont particulièrement intéressantes dans le domaine des bases de données :

  • Le format CSV de Microsoft Excel se distingue par des guillemets délimitant les champs et par un nombre variable de champs par ligne. La première ligne permet d’indiquer les noms des colonnes. Le format Excel CSV peut être lu par de nombreuses bases de données.
  • Le SQL-Loader File d’ORACLE introduit un en-tête précédant le contenu du fichier CSV dans lequel la dénomination des champs, leur format, le jeu de caractères, etc., sont définis. De nombreuses bases de données peuvent importer ou créer des « SQL-Loader Files ».

    

Evaluation

Ouverture du format: 4
Il n’existe pas de norme générale du format de fichiers CSV. Par contre, la spécification est contenue pour l’essentiel dans RFC 4180 et extrêmement simple.

Licence libre: 4
Il n’existe pas de restrictions juridiques associées à une licence ; cela est vraisemblablement aussi le cas pour Excel CSV Format et SQL-Loader File.

Diffusion: 4
CSV est le format le plus souvent utilisé pour l’échange de données entre bases de données et tableurs. Il est de ce fait largement répandu. XML et JSON sont en revanche préférés pour les applications web.

Fonctionnalités: 2
Les fichiers CSV sont ce que l’on nomme des fichiers plats (flat files), autrement dit seule l’information textuelle d’un tableau peut être stockée dans un fichier. Ils se prêtent bien au stockage de listes.

La plupart des systèmes de bases de données ont toutefois en plus recours à des structures hiérarchiques ou relationnelles pour créer les liens entre les différentes informations. Pour reproduire de telles informations relationnelles dans un fichier plat, il est nécessaire de répéter des informations, d’où une redondance des données. En outre, les données stockées dans les fichiers CSV ne sont pas formatées. Il est impossible de reprendre des formats de champs, des structures de données ou des formules.

Les bases de données de petite taille, comme celles souvent en usage dans les administrations au niveau communal, ne comportent souvent que quelques tables avec des types de données primitifs sans lien entre eux. Dans ces cas très répandus, le CSV permet de conserver les informations de manière efficace et à long terme. Toutefois, même dans de tels cas, une conversion en XML ou JSON est utile, car le format ne peut être validé qu'avec XML et JSON.

Implémentation: 4
L’immense majorité des bases de données ou des tableurs sont capables de créer ou de lire des fichiers CSV. On observe toutefois de plus en plus souvent que les bases de données récentes (2023) n'exportent plus de CSV.

Densité de mémorisation: 4
Il n’y a pas de compression des données, les contenus des champs sont classés un par un. La représentation des structures entre les tableaux conduit inévitablement à la redondance des données (voir fonctionnalité ci-dessus). Les programmes de compression de données les plus répandus (p. ex. zip, gzip) permettent toutefois une compression sans perte d'un facteur allant jusqu'à 20.

Vérifiabilité: 2
Seule l'extension du fichier permet une reconnaissance ou une validation. Le manque de normalisation rend toutefois nécessaire la présence d’une documentation précise sur les séparateurs, le masquage des séparateurs et des retours automatiques à la ligne, l’utilisation de guillemets et le problème de la variation du nombre de champs par ligne. La documentation permet ensuite de vérifier si le nombre correct de champs par ligne est présent et si les séparateurs ont été correctement utilisés et masqués lorsque cela était nécessaire. Le codage des caractères et la représentation des types de données utilisées doivent aussi être fixés.

Bonnes pratiques: 3
Pour des raisons historiques, les fichiers CSV sont relativement répandus au sein des services d’archives. Utilisé comme format d’archivage pour les bases de données, CSV peut entraîner une perte d'informations. Il peut désormais être largement remplacé par des fichiers XML ou SIARD plus adaptés.

Perspectives: 2
CSV est souvent remplacé par XML (p. ex. SIARD), car celui-ci résout les problèmes du masquage des caractères de contrôle, du jeu de caractères et des types de données.

Classe de formats: A
CSV est un des plus anciens formats de l’informatique.

    

Conclusion

De grandes quantités de données sont déjà archivées en format CSV. Celui-ci gardera donc son importance pour les tableaux. Toutefois, vu l’impossibilité de conserver des relations, des métadonnées et de l’information structurelle dans ce format, seuls des ensembles de données en format CSV bien documentés garderont leur valeur. Le remplacement par XML ou JSON aura aussi lieu dans le domaine de l’archivage. N’oublions pas que XML a été élaboré dans une mesure non négligeable pour répondre au besoin d’un format d’échange de données structuré et pour remplacer les solutions entièrement basées sur le texte.

     

Références

Spécification RFC du format des fichiers CSV
https://tools.ietf.org/html/rfc4180

 

   

Bibliographie

Wikipedia,
https://en.wikipedia.org/wiki/Comma-separated_values

Creativyst Software, The Comma Separated Value (CSV) File Format
http://www.creativyst.com/Doc/Articles/CSV/CSV01.shtml

Network Working Group, Common Format and MIME Type for Comma-Separated Values (CSV) Files
https://datatracker.ietf.org/doc/html/rfc4180

   

Catalogue des formats de fichiers pour l'archivage version 7.0, juin 2024