Activité de découverte du format CSV☘
Dans ce chapitre (et le suivant), vous allez devoir :
- enregistrer, créer et exploiter des fichiers au format CSV ;
- importer les données d'un fichier CSV dans un programme Python ;
- exporter des informations issues d'un programme vers un fichier au format CSV ;
- sélectionner et extraire des données parmi toutes les données importées ;
- trier les données selon certains critères ;
- fusionner des données (jointure de tables).
Préparation du répertoire de travail
1. Dans votre répertoire courant, créez un dossier nommé [NSI_Tables_Donnees]
.
2. Dans ce dossier, enregistrez les fichiers CSV ainsi que les programmes
réalisés au cours de ce chapitre (et du suivant).
Activité n°1 - Du tableur au format CSV☘
- Ouvrez le logiciel LibreOffice Calc.
-
Dans une feuille de calcul, copiez/collez les données suivantes, relatives à la collection des jeux « Zelda » parus sur consoles de salon :
titre console sortie_japon sortie_france développeur nombre_rééditions The Legend of Zelda NES 1986 1988 Nintendo 6 Zelda II: The Adventure of Link NES 1987 1990 Nintendo 6 A Link to the Past Super NES 1991 1992 Nintendo 3 Zelda: The Wand of Gamelon Philips CD-I 1993 1993 Animation Magic 0 Link: The Faces of Evil Philips CD-I 1993 1993 Animation Magic 0 Zelda’s Adventure Philips CD-I 1994 1994 Viridis 0 Ocarina of Time Nintendo 64 1998 1998 Nintendo 5 Majora’s Mask Nintendo 64 2000 2000 Nintendo 4 The Wind Waker GameCube 2002 2003 Nintendo 1 Four Swords Adventures GameCube 2004 2005 Nintendo 0 Twilight Princess GameCube 2006 2006 Nintendo 1 Skyward Sword Wii 2011 2011 Nintendo 0 Hyrule Warriors Wii U 2014 2014 Omega Force 2 Breath of the Wild Switch 2017 2017 Nintendo 0 -
Enregistrez une première fois ce tableau au format
.ods
(format LibreOffice Calc) sous le nomZelda_Consoles.ods
.Fichier obtenu
-
Enregistrez une seconde fois ce tableau à l'aide de la commande [Fichier/Enregistrer sous].
- Dans le menu déroulant [Type], sélectionnez [Texte CSV].
- Dans la fenêtre [Export de fichiers texte] choisissez le [Jeu de Caractères] « Unicode (UTF-8) » et vérifiez que le [Séparateur de champ] est bien la virgule « , ».
-
Ouvrez ensuite le fichier CSV ainsi créé avec un éditeur de texte (Notepad++ sous Windows, l'éditeur de texte usuel ou Geany sous Linux) et observez comment les données sont enregistrées.
Fichier obtenu
Le fichier au format CSV avec la virgule comme séparateur : On peut constater que les champs ne sont pas entourés de guillemets (puisqu'on ne l'a pas précisé à l'enregistrement du fichier CSV).
-
Ouvrez le fichier
Zelda_Consoles.ods
à l'aide de LibreOffice Calc. -
Enregistrez ce fichier au format CSV mais en choisissant cette fois-ci la tabulation comme séparateur.
Vérifier le résultat avec l'éditeur de texte.Fichier obtenu
Le fichier au format CSV avec la tabulation comme séparateur :
Activité n°2 - Gestion des séparateurs☘
Le site de l'INSEE permet de télécharger des données au format CSV.
-
Téléchargez et enregistrez dans votre répertoire de travail le fichier esperanceVieFemme.csv qui porte sur l'espérance de vie des femmes en France.
Source
Ce fichier a été téléchargé à cette adresse.
-
Ouvrez ce fichier avec un bon éditeur de texte (donc pas le bloc-note de base de Windows).
Quel est le séparateur de données utilisé ?Séparateur
On constate que le séparateur de données utilisé n'est pas la virgule mais le point virgule.
C'est souvent le cas dans un fichier CSV français puisqu'on réserve traditionnellement la virgule à un rôle de séparateur décimal.Toutefois, dans le fichier csv, on peut constater que c'est le point qui a bien été utilisé comme séparateur décimal.
-
Ouvrez ensuite ce fichier avec un tableur (LibreOffice Calc de préférence).
Importation
Le séparateur du fichier étant le point-virgule, faites attention à bien sélectionner le point-virgule comme séparateur à l'ouverture avec LibreOffice :
-
Ouvrez à nouveau le fichier avec un (bon) éditeur de texte.
- A l'aide du menu [Recherche] -> [Remplacer...], remplacez les
points «
.
» utilisés comme séparateur décimal par des virgules. - Ajoutez également une donnée à la ligne n°4, dans une nouvelle cellule sur la droite où vous entrerez simplement le nombre 89,65 :
- Sauvegardez ce fichier et fermez l'éditeur de texte.
- A l'aide du menu [Recherche] -> [Remplacer...], remplacez les
points «
-
Ouvrez ce fichier modifié avec un tableur (LibreOffice Calc je rappelle) en choisissant virgule et point-virgule comme séparateur de données.
Que constatez-vous ? A votre avis, pourquoi?Fichier modifié et conséquences
Le fichier CSV modifié est téléchargeable en cliquant ici
Voici une capture d'écran de ce fichier ouvert avec LibreOffice :
En ligne 4, les valeurs
89
et65
ont été entrées dans des cellules supplémentaires en colonnes D et E. Ces valeurs ont été bien séparées comme s'il s'agissait de deux données distinctes puisqu'on a- ajouté au fichier le nombre 89,65,
- et déclaré la virgule et le point-virgule comme séparateurs.
Les autres données de la colonne B n'ont pas été séparées malgré la virgule car elles sont encapsulées dans des guillemets
" "
qui en font une unité et permettent d'annuler le rôle de séparateur de la virgule.
A retenir☘
Lorsqu'on ouvre un fichier CSV avec un tableur, en sélectionnant la virgule comme séparateur de données, on constate que les données qui sont les unes en-dessous des autres dans le fichier texte initial constituent les données d'une même colonne dans le tableur.
De même les données qui sont sur une même ligne du fichier texte, séparées par une virgule, sont sur une même ligne du fichier tableur.
A noter
Tous les fichiers CSV utilisés dorénavant dans les exercices et les activités utiliseront la virgule comme séparateur de données.