FUSION DE TABLES
Sommaire
E1) Réunion de tables et enregistrement du résultat
E2) Jointure de tables
E1) Réunion de tables et enregistrement du résultat
La fusion de tables sous la forme de réunion sera finalisée ici par un export d'un vrai ficher csv en sortie
1. Créer un fichier notes2.csv avec les données de la table2.
Dans l'éditeur Python créer un fichier et enregistrez-le en le nommant : traitementE1.py
Programme à compléter
import csv fichier=open("notes.csv", encoding='utf8') # # A compléter pour table2 et notes2.csv #
# table3= ... #EXPORT en fichier CSV , attribut "w" pour write / écrire |
Dans le fichier python :
2. Importer les données des deux tables notes.csv et notes2.csv dans les variables table1 et table2.
3. Fusionner les deux dans une table3 par l’opération : table3 = table1 + table2.
4. Exporter les données de la table3 dans un nouveau fichier CSV : notes3.csv
5. Vérifier la présence de notes3.csv ainsi que le résultat obtenu. Faire une capture pour le compte rendu
E2) Jointure de tables
La jointure de tables est une opération intéressante qui permet d'automatiser une fusion de plusieurs tables
ayant des attributs différents mais avec au moins un attribut commun
On va réunir la table 1 (notes.csv) et la table 4 (à créer) pour former la table 5
1. Créer un fichier notes4.csv avec les données de la table4.
Dans l'éditeur Python, créer un fichier et enregistrez-le en le nommant : traitementE2.py
2. Importer les données de notes.csv et notes4.csv dans les variables table1 et table4.
def fusion(ligneA,ligneB): |
3. Avec le modèle ci-dessus, créer une fonction ( vide pour l'instant) appelée fusionT(tableA,tableB) qui créera un nouveau dictionnaire représentant la ligne de la table fusionnée recherchée.
4. Ajoutez à la fonction fusionT(tableA,tableB) la jointure ci-dessous:
— jointure1 : par une double boucles ;
jointure1=[] |
remplacez dans la fonction fusionT(tableA,tableB) la jointure par celle ci-dessous:
— jointure2 : par une double compréhension qui s’apparente en fait plus au fonctionnement des requêtes SQL qui seront abordées en terminale.
jointure2=[fusion(ligneA,ligneB) for ligneA in table1 for ligneB in table4 if ligneA["Nom"]==ligneB["Nom"]]
5. En vous aidant du modèle d'export précédent en E1) , exporter les données de la jointure dans un nouveau fichier CSV : jointureE2.csv
Créé avec HelpNDoc Personal Edition: Générateur de documentation iPhone gratuit