Données structurées TP n° 2


Écrire votre nom ici

Nom :


Traitement de données avec un programme en Python

Nous aurons besoin de deux bibliothèques pour ce notebook

  • La bibliothèque csv pour manipuler des fichiers csv
  • La bibliothèque requests pour l'import de fichier depuis une url

Elles sont généralement installées nativement dans Python 3

Le programme ci-dessous charge le fichier Lycee2.csv depuis une url et affiche la première ligne du fichier chargé

In [ ]:
#import des bibliothèques
import csv
import requests

# Importation des données au format CSV
url="http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))

print(etablissement[0])

Les lignes sont des listes

Pour repérer un élément d'une ligne il faut savoir à quel indice il se trouve dans la liste

Par exemple la dénomination principale de l'établissement se trouvant à la ligne 25 (la 26ème puisque la première est la ligne 0) : est COLLEGE

Comme le montre le programme ci-dessous :

In [ ]:
#import des bibliothèques
import csv
import requests

# Importation des données au format CSV
url="http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))

print(etablissement[25][2])

Faire une recherche à partir d'un critère

Le numéro UAI du Lycée Jean Moulin (Draguignan) est : 0830015R

Nous allons parcourir la liste des établissements et nous ferons afficher la ligne correspondant au lycée Jean Moulin

Exécutez le programme ci-dessous

In [ ]:
#import des bibliothèques
import csv
import requests

# Importation des données au format CSV
url="http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))

for ligne in etablissement:
    if ligne[0]=='0830015R':
        print(ligne)

On peut améliorer l'affichage

In [ ]:
#import des bibliothèques
import csv
import requests

# Importation des données au format CSV
url="http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))

for ligne in etablissement:
    if ligne[0]=='0830015R':
        
        print("===============================================================")
        print(ligne[1])
        print(ligne[7]," ",ligne[5])
        print(ligne[8])
        print(ligne[9])

Faire afficher tous les établissements d'une ville

Le programme ci-dessous demande à l'utilsateur un nom de ville et affiche les résultats de la recherche

In [ ]:
#import des bibliothèques
import csv
import requests

# Importation des données au format CSV
url="http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))

s=input("Entrez un nom de ville")

s=s.upper()# mise en majuscules
for ligne in etablissement:
    if s in ligne[9]:# si s est dans le texte
        print("================================================")
        print(ligne[1])
        print(ligne[7]," ",ligne[5])
        print(ligne[8])
        print(ligne[9])

À faire :

Votre mission :

Reprendre le programme précédent et rajouter l'information se trouvant sur : secteur_public_prive_libe

In [ ]:
# Écrire le programme ici

À faire :

Votre mission :

Écrire un programme qui demande à l'utilisateur:

  • Un nom de ville
  • Un type d'établissement : ecole, college ou lycee ( on oubliera les problèmes d'accents )

Et qui affichera les résultats

In [ ]:
# Écrire le programme ici

À faire :

Votre mission :

Faire, à l'aide d'un programme, afficher l'école où vous avez appris à lire

In [ ]:
# Écrire le programme ici
In [ ]: