C) Construction d'une table
— L’opération de projection est notamment utilisée pour construire un nouvelle table contenant seulement une partie des colonnes de la table d’origine.
Pour cela, plutôt que d’extraire seulement la valeur d’un attribut, on peut construire un nouveau dictionnaire contenant les valeurs des attributs qui nous intéressent.
Ce sera donc le principe de ces constructions de tables
Sous un tableur, créer le tableau notes.csv
Nom |
Maths |
NSI |
Anglais |
Galois |
17 |
14 |
17 |
Gauss |
20 |
12 |
8 |
Euler |
19 |
15 |
13 |
Dans l'éditeur Python, créer un fichier et enregistrez-le en le nommant : traitementC.py
import csv |
Résultats: (si le résultat n'est pas un des deux affichages ci-dessous, essayer de changer le delimiteur ci dessus pour la virgule "," suivant le tableur utilisé)
Construction par projection d'une table avec les notes de maths
# Dans l'éditeur Python
ta= [ {"Nom":ligne["Nom"],"Maths":float(ligne["Maths"])} for ligne in table ]
print(ta)
# On obtient dans la console
[{'Nom': 'Galois', 'Maths': 17.0}, {'Nom': 'Gauss', 'Maths': 20.0},
{'Nom': 'Euler', 'Maths': 19.0}]
Opérations
Plus généralement on peut au passage effectuer des opérations sur les lignes au moment de faire une
sélection ou une projection.
Par exemple, si on veut ajouter 10% aux notes d’anglais on obtient :
# Dans l'éditeur Python
tb= [ {"Nom":ligne["Nom"],"Anglais":float(ligne["Anglais"])*1.1} for ligne in table ]
print (tb)
# On obtient dans la console
[{'Nom': 'Galois', 'Anglais': 18.700000000000003},
{'Nom': 'Gauss', 'Anglais': 8.8},
{'Nom': 'Euler', 'Anglais': 14.3}]
En utilisant les méthodes de projection et sélection
A faire par vous même
*niveau 1 : A réaliser rapidement
1. construire un tableau t1 contenant les noms des élèves et les notes en NSI seulement ;
2. construire un tableau t2 contenant les noms des élèves et les notes en Anglais ramenées sur 10, arrondis à un chiffre après la virgule. (mot clé : round() )
** niveau 2 : A réaliser avec un programme dédié
3. construire un tableau t3 contenant les noms des élèves et les notes en Maths augmentées de 1 point, sans dépasser 20 ;
4. construire un tableau t4 contenant les noms des élèves et une nouvelle clé nommée "Moyenne"
de valeur la moyenne des 3 notes pour chaque matière
Créé avec HelpNDoc Personal Edition: Créer des documentations web iPhone