Exercice : Traitements des données d'un fichier CSV lors de la lecture
Exercice n°1 : Modifier le type de données lues
Nous avons vu précédemment que les éléments des listes étaient tous des chaînes de caractères.
Ouvrir et lire le fichier personnes.csv avec python, et transformer l'objet reader en liste de façon à ce que
les attributs correspondants à l'identifiant (id_personne) et l'année de naissance ne soient plus des chaînes de
caractères dans les listes obtenues mais soient des entiers.
Indice
Pour vous aider, on pourra transformer l'élément 0 et l'élément 3 de chaque liste-ligne en entier mais attention à ne pas commencer à 0, la ligne 0 est celle d'entête.
Exercice n°2 : Compter des valeurs d'un champ
On souhaite compter le nombre de fois qu'une valeur d'un champ apparaît dans notre fichier CSV.
Écrire un code possible pour la fonction python suivante :
def nombrePersonnePrenom(prenom):
"""
prenom -- chaîne de caractères
renvoie le nombre de personnes qui, dans le fichier personnes.csv,
portent le prénom prenom.
"""
Indice
Il faut bien entendu utiliser le fait que dans les listes-lignes obtenues par lecture du CSV, l'attribut prenom
est celui d'indice 2.
Exercice n°3 : Supprimer les répétitions
Lorsqu'on télécharge des fichiers CSV depuis le web, on se heurte souvent à des problèmes de qualité de la donnée. On souhaite à présent supprimer des doublons dans les enregistrements.
Écrire un code possible pour la fonction python suivante:
def listePrenomSansDoublon():
"""
renvoie la liste des prénoms de personnes.csv sans doublon
(par exemple, le prénom Alain ne devra être qu'une seule fois présent
dans la liste résultat alors qu'il est présent plusieurs fois dans le fichier).
"""
Indice
On peut imaginer construire une liste de prenoms 'uniques'... Attention à exclure la ligne d'en-tête...
Exercice n°4 : Sélectionner suivant un critère
Avec Python, on peut aussi extraire des données qui répondent à un ou des critères.
Écrire une fonction qui crée la liste des personnes (nom et prénom) qui sont nées avant 2000.
Indice
Pensez à transtyper la donnée correspondant à l'année en int pour faire les tests de comparaison utiles sur cette donnée.
Exercice n°5 : Sélectionner des lignes suivant plusieurs critères
Précédemment, nous avons vu une fonction qui permettait d'extraire des données suivant un critère, voyons à présent avec plusieurs critères...
Écrire une fonction qui crée la liste des personnes (nom, prénom, date de naissance) qui sont nées après 1990 et qui s'appellent Alain.
Indice
Les opérateurs booléens seront nécessaires.