Le format CSV

Définition

CSV est le sigle de Coma Separated Values, qui peut se traduire par « valeurs séparées par des virgules ». Il s'agit d'un format de fichier qui se caractérise par la représentation de données tabulaires sous forme de texte, les valeurs de chaque cellule étant séparées par des virgules ou des points-virgules.

La fonction principale des fichiers CSV est de permettre la portabilité des données tabulaires d'un programme à l'autre, il est également lisible par un humain car sa forme et sa syntaxe sont rudimentaires.

Exemple de conversion au format CSV

La première ligne du fichier CSV contient l'entête de la table, elle est utilisée pour nommer chaque colonne, on l'appelle l'en-tête de description des champs.

Version texte .csv :

Prenom,Nom,Email,Age,Ville

Robert,Lepingre,bobby@exemple.com,41,Paris

Jeanne,Ducoux,jeanne@exemple.com,32,Marseille

Pierre,Lenfant,pierre@exemple.com,23,Rennes

Version tableau :

Prenom

Nom

Email

Age

Ville

Robert

Lepingre

bobby@exemple.com

41

Paris

Jeanne

Ducoux

jeanne@exemple.com

32

Marseille

Pierre

Lenfant

pierre@exemple.com

23

Rennes

Pour lire un fichier texte CSV sous forme de tableau dans un logiciel de tableur comme Excel, il vous suffit de sélectionner le fichier CSV que vous souhaitez ouvrir puis dans la fenêtre "Assistant d'importation du texte" :

  • laisser le type de fichier sur "Délimité" et sélectionner le bon encodage[1] ("Unicode (UTF-8[2])") pour l'origine du fichier

  • sélectionner "Virgule" ou "Point-virgule" en fonction du séparateur utilisé.

Attention

Dans votre tableur préféré, si vous pratiquez des mises en forme de votre fichier CSV, elles seront perdues au moment de l'enregistrement.

Le format CSV ne mémorise pas les couleurs, les onglets, les cellules fusionnées, les tailles de caractère... Il n'est adapté qu'à des tableaux simples où tous les enregistrements, c'est-à-dire toutes les lignes, ont la même forme. C'est strictement un format de données qui ne peut pas accepter de mise en forme.

MéthodePartage de données = fichier CSV de bonne qualité

Pour être lu correctement par n'importe quel système ou logiciel, votre fichier CSV doit respecter les règles suivantes [pdf] :

  • Pas de saut de ligne : chaque ligne doit être remplie. Si vous souhaitez que certaines cellules du tableau soient vides, il faut quand même ajouter les virgules.

  • Chaque ligne doit avoir ligne doit avoir le même nombre de champs, c'est à dire de virgules.

  • Pas d'espaces inutiles : "Pierre" et non " Pierre" ou "Pierre "

Il est parfois très difficile de contrôler à la main des centaines de lignes d'un fichier CSV, un contrôle syntaxique automatique doit permettre de garantir qu'un fichier pourra être exploité par n'importe quel outil, logiciel ou programme informatique : CSV Lint http://csvlint.io/ est un service en ligne — anglophone — qui établit un rapport signalant les problèmes élémentaires de votre jeu de données (encodage, délimiteur, syntaxe, etc.).

Il suffit de téléverser (​ uploader ​ ) le fichier CSV désiré et lancer la validation : l'outil affiche alors un rapport d'analyse complet signalant tous les problèmes identifiés.

RemarqueLe séparateur utilisé

Le séparateur est aussi fréquemment un point-virgule, une tabulation ou le caractère \(\mid\) ( barre verticale ou ​ tube en français, ou "pipe" en anglais ). Le délimiteur peut encore être n'importe quel caractère du moment qu'il permette de séparer les champs sans ambiguïté. Cependant, ​ la norme CSV désigne la virgule comme le caractère à utiliser​ .

Cet usage peut nous poser problème à nous autres français, car cette dernière est notamment utilisée comme séparateur décimal... Un "\(3,5\)" caché au milieu de nombres entiers pourra passer inaperçu et provoquera des erreurs de lecture, il faut alors encapsuler chaque champ entre des guillemets​ (au moins ceux qui contiennent une virgule) :

“Prénom”,”Nom”,”Note”

“Martin”,”Durand”,”13,4”

Pas de panique ! en utilisant un tableur comme Excel ou Calc d'Open/Libre Office, ces derniers réaliseront automatiquement l'encapsulation des champs entre guillemets.

À titre d'exemple, corrigez les erreurs du fichier ci-joint.

Afin de retrouver un ami rencontré sur internet, vous vous munissez de la liste précédente des noms et des adresses de ces lieux parisiens où le café est encore servi pour moins d'un euro.

a) Sachant qu'il aime retrouver son cantal natal, à quelle adresse le retrouverez-vous ?

b) Combien de cafés de la base ont leur adresse dans le sixième arrondissement ?