Rechercher un élément d'un fichier CSV par la logique propositionnelle
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Rechercher des éléments d’un fichier CSV en utilisant la logique propositionnelle.
Pour rechercher un élément particulier dans un fichier CSV, il faudra utiliser des structures conditionnelles et parfois des opérateurs logiques.
- Connaitre les différents types de variables : int, float
- Transformer un fichier CSV en une liste utilisable par Python
- Utiliser les structures conditionnelles
- Utiliser les opérateurs logiques ET, OU, NON
Une fois le fichier CSV transformé en liste, on recherche des lignes de ce fichier dont les descripteurs répondent à différentes conditions.
On utilise pour cela :
- les structures conditionnelles : « if "condition1" else… » ou « if "condition1" elif&bsp;"condition2" else… » ;
- et les opérateurs logiques NON, ET, OU.
Lorsque le fichier CSV est transformé en liste, chaque élément est une chaine de caractères (l’élément est considéré comme du texte). On devra donc, en fonction du test, transformer l’élément en entier (commande int) ou en flottant (commande float).
Voici ci-dessous la traduction des tests en Python.
En français | En Python |
si A > B et C > D | if A>B and C>D: |
si A > B ou C > D | if A>B or C>D: |
si non A | if not A: |
Voici ci-dessous le fichier informaticien.csv et le programme Python.
La ligne 8 indique que l’on comparera le 3e élément du descripteur (« 'ne en' ») de chaque ligne à 1850 et on testera si le prénom est Gérard.
On obtient l’affichage suivant.
['Huet', 'Gerard', '1947']
['Berry', 'Gerard', '1948']
La méthode .loc permet d’isoler des éléments du fichier.
Si on appelle data le fichier ouvert par Pandas, data['descripteur1'] permet d’afficher la colonne constituée de tous les descripteur1 de data.
Traduction des tests avec la bibliothèque Pandas :
En français | Avec Pandas |
A > B et C > D | (A>B) & (C>D) |
A > B ou C > D | (A>B) | (C>D) |
Avec le même fichier informaticien.csv, le programme suivant permet de récupérer les lignes du fichier dont l’année de naissance est strictement supérieure à 1850 et dont le prénom est Gerard. On obtient l’affichage suivant.
nom | prenom | ne en | |
4 | Huet | Gerard | 1947 |
6 | Berry | Gerard | 1948 |
Vous avez obtenu75%de bonnes réponses !