====== Activité : les données au format csv ======
===== Présentation =====
Le format **csv** est un format simple d'échange de données au format texte.
==== Ce que dit Wikipedia sur le format csv ====
**Lien** : https://fr.wikipedia.org/wiki/Comma-separated_values
**Comma-separated values**, connu sous le sigle **CSV**, est un format informatique ouvert représentant des données tabulaires sous forme de valeurs séparées par des **virgules**.\\
...\\
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.
==== Exemple de fichier csv ====
nom,prenom,date_naissance
Durand,Jean-Pierre,23/05/1985
Dupont,Christophe,15/12/1967
Terta,Henry,12/06/1978
Il est assez facile de comprendre que ce fichier contient les informations sur trois personnes :
* Jean-Pierre Durand qui est né le 23/05/1985
* Christophe Dupont qui est né le 15/12/1967
* Henry Terta qui est né le 12/06/1978
"**nom**", "**prenom**" et "**date_naissance**" sont appelés des **descripteurs** alors que, par exemple, "**Durand**", "**Dupont**" et "**Terta**" sont les **valeurs** du descripteur "**nom**".
**Question 1 ** : Donnez les **différentes valeurs** du **descripteur** "date_naissance"
==== Le séparateur utilisé pour les données aux normes françaises====
**ATTENTION** : La **virgule** est un standard pour les **données anglo-saxonnes**, mais pas pour les données aux normes françaises. On utilise un **autre séparateur** : le **point-virgule (;)**
En effet, en français, la **virgule** est le **séparateur des chiffres décimaux**. Il serait impossible de différencier les virgules des décimaux et les virgules de séparation des informations. C’est pourquoi on utilise un **autre séparateur** : le **point-virgule (;)**.
Les **tableurs** (**Calc** - Libre Office; **Excel** - Microsoft), sont **capables de lire les fichiers au format CSV**.
**Question 2** :
* je **télécharge** le fichier : {{:icn:ident_pointvirgule.csv|}} puis je l'ouvre avec un tableur ;
* **j'ajoute** une ligne avec mon **nom, mon prénom, ma date de naissance** puis je le **sauvegarde** ;
* **j'ouvre** le fichier sauvegardé avec le logiciel **notepad** pour **visualiser** la ligne rajoutée et l'utilisation du **point-virgule (;)** comme séparateur.
* **j'écris** la ligne obtenue :
==== Utiliser le fichier csv des villes de France ====
Il est possible de trouver sur Internet des données dans de nombreux domaines. Ces données sont soient payantes soit en accès libre.
Le site https://www.data.gouv.fr/ récense un grand nombre de données publiques librement réutilisables.
Le site http://sql.sh/ propose un fichier **csv** contenant des informations sur l'ensemble des communes françaises.
**Question 3** :
* je **télécharge** le fichier : {{:icn:villes_point_virgule.csv|}} puis je l'ouvre avec un **tableur** ; (c’est une version légèrement modifiée de celle disponible sur le site sql.sh).
* quelle est la** taille en octet de ce fichier** ?
* je recherche les **informations** de la ville de Limoges :
* quel est le **nombre d'habitants** en 2012 ?
* quelles sont les **altitudes minimale et maximale** ?
Le fichier est assez volumineux. Il y a 12 colonnes (et 36700 lignes si on ne compte pas l'entête !). Voici la signification de ces colonnes :
* **dep** : numéro de département
* **nom** : nom de la commune
* **cp** : code postal
* **nb_hab_2010** : nombre d'habitants en 2010
* **nb_hab_1999** : nombre d'habitants en 1999
* **nb_hab_2012** : nombre d'habitants en 2012 (approximatif)
* **dens** : densité de la population (habitants par kilomètre carré)
* **surf** : superficie de la commune en kilomètre carré
* **long** : longitude
* **lat** : latitude
* **alt_min** : altitude minimale de la commune (il manque des données pour certains territoires d'outre-mer)
* **alt_max** : altitude maximale de la commune (il manque des données pour certains territoires d'outre-mer)
==== Compléter l'activité OpenStreetMap ====
**Question 4** : \\
Je **complète** l'activité **OpenstreetMap** pour rajouter sur les marqueurs des villes de **Panazol, Feytiat, Condat-sur-Vienne, Landouge et Isle** :
* le **nombre d'habitants** ainsi que les **altitudes minimales et maximales**.
==== Les activités ... ====
[[icn:2nde:accueil|Je reviens à la liste des activités.]]