Aller au contenu

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.