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 | 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" :
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éthode : Partage 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.
Remarque : Le 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 ?