LGT Saint-Exupéry, Mantes-la-Jolie
Activité 1ère NSI – Fusion des tables de données 1/2
Activité 1 : la fusion idéale
L’objectif de cette activité est de réaliser un module permettant de lire deux fichiers csv contenant des données présentant la même structure.
Cette activité sera réalisée sous Jupyter en suivant le modèle fourni. Vous utilisez les fonctions développées précédemment et présentes dans le fichier traitementcsv.py. A l’issue du traitement, vous complétez votre fichier avec les nouvelles fonctions de fusion.
Réaliser cette activité avec les fichiers europe1.csv et europe2.csv
1. Ecrire une fonction fusion_simple_liste(nom_fichier1, nom_fichier2) qui renvoie la liste correspondant à la fusion des deux tables issues des fichiers CSV europe1.csv et europe2.csv
2. Tester votre fonction avec le fichier europe3.csv à la place du fichier europe2.csv Que constatez-vous ? Comment pensez-vous pouvoir contourner cet éceuil ?
Activité 2 : la fusion avec possible pertes de données
L’objectif de cette activité est de réaliser un module permettant de détecter les doublons et tester la cohérence du fichier.
En utilisant les modules développés précédemment, réaliser cette activité avec les fichiers europe1.csv et europe3.csv 1. Recherche des doublons
Ecrire une fonction afficher_liste_doublons(nom_fichier1, nom_fichier2, cle) permettant d'afficher les doublons d'enregistrement dans les deux fichiers, en se basant sur une clé de recherche (= le descripteur commun dans le deux fichiers permettant d'identifier les doublons)"}]
Cette solution présente l'avantage de détecter les possibles pertes de données mais ne permet pas de répondre à la problématique de fusion.
Pour réaliser une fusion suite à cet affichage, il nous faut deux outils :
✓ une fonction permettant de fusionner les deux fichiers après avoir choisi le fichier prioritaire (c'est-à-dire le fichier qui fournira les données à garder pour une clé fixée)
✓ une fonction permettant d'afficher les pertes de données suite à la fusion
2. Fonction de fusion
Ecrire une fonction fusionne_doublons(nom_fichier1, nom_fichier2) qui récupère les données des 2 fichiers et qui fusionne l'ensemble en donnant la priorité au fichier nom_fichier1.
Fusion des tables de données
LGT Saint-Exupéry, Mantes-la-Jolie
Activité 1ère NSI – Fusion des tables de données 2/2
Afficher les résultats retournés pour fusionne_doublons('europe1.csv','europe3.csv') puis pour fusionne_doublons('europe3.csv','europe1.csv')
3. Afficher les données perdues
Ecrire une fonction afficher_pertes(nom_fichier1, nom_fichier2) qui récupère les données des 2 fichiers et indique les données perdues suites à la fusion précédente en donnant la priorité au fichier nom_fichier1
Afficher les résultats retournés pour afficher_pertes('europe1.csv','europe3.csv') puis pour afficher_pertes('europe3.csv','europe1.csv')
Activité 3 : la fusion avec descripteurs différents
Il arrive fréquemment que l’on doive fusionner des données avec des descripteurs différents.
L’objectif de cette activité est de réaliser un module permettant de fusionner deux tables avec des descripteurs différents mais avec une clé d’identification commune (ici le nom du pays).
En utilisant les modules développés précédemment, réaliser cette activité avec les fichiers
europe1.csv et europe4.csv.
1. Afficher les descripteurs
Afficher les descripteurs des deux fichiers cités.
Quelle est la clé commune ?
2. Fusion des tables
Ecrire une fonction fusionne_tables(nom_fichier1, nom_fichier2, cle) qui récupère les données des 2 fichiers et qui fusionne l'ensemble en donnant la priorité au fichier nom_fichier1.
Afficher les résultats retournés pour fusionne_tables('europe1.csv','europe3.csv').
3. Prolongements pour les plus rapides
Avec la liste de dictionnaires récupérée à la question 2, proposer une fonction enregistreCSV(liste, nom_fichier_cible) qui enregistre un fichier europe5.csv sur le modèle des précédents fichiers CSV.
Vérifier le fonctionnement de votre code en ouvrant le fichier europe5.csv.