Thème 4 - Données

Programmation

Traitement de données avec Python

L'objectif de cette activité est de traiter des données contenues dans des fichiers .csv avec le langage Python :
  • Ouvrir et lire un fichier de données.
  • Croiser des données avec deux fichiers.

1. Téléchargement des fichiers

Télécharger l'archive 4-donnees-python.7z. Le placer dans votre répertoire de travail, puis le décompresser.

Vous devez obtenir trois fichiers :
  • baselog.csv (table de données)
  • basemail.csv (table de données)
  • programme.py (script Python)
Le programme suivant permet d'ouvrir et d'extraire les informations des deux tables baselog.csv et basemail.csv.
import csv    # import du module csv

# Lecture du fichier baselog.csv
with open("baselog.csv", encoding="UTF8") as f:
    log = list(csv.reader(f))

# Lecture du fichier basemail.csv
with open("basemail.csv", encoding="UTF8") as f:
    mail = list(csv.reader(f))

# Affichage
print("----------------------------")
print("Affichage des deux listes : ")
print("LOG : \n", log)
print("MAIL : \n", mail)
print("----------------------------")


# Exercice :
print("Question 1 : ", len(log))
print("Question 2 : ", len(log[0]))
print("Question 3 : ", log[0])
print("Question 4 : ", log[2])
print("Question 5 : ", log[0][0])
print("Question 6 : ", log[1][0])
print("Question 7 : ", log[0][1])
print("Question 8 : ", log[1][1])
  1. Expliquer les différents print(...) qui suivent le commentaire # Exercice :.
  2. Quel est le descripteur (champ) commun aux 2 tables ?

2. Traitement des données

L'objectif est de fusionner les deux tables afin de faire correspondre les logins aux bons mots de passes.
  1. Afficher les descripteurs de la table basemail.
    print(mail[0])
  2. Afficher la liste des login.
    for data in log:
        print(data[1])
  3. Afficher la liste des mots de passe (en vous aidant de la réponse précédente).
  4. Afficher le login de Colette
    rep = [x[1] for x in log if x[0] == "Colette"][0]
    print(rep)
  5. Afficher le mot de passe de Colette (en vous aidant de la réponse précédente).
  6. Faire valider par l'enseignant les réponses 3 et 5.