Aller au contenu

Fichiers CSV

Cours et exercices⚓︎

Commencer par étudier en entier le cours suivant :

Fichiers CSV par Nicolas Revéret

Précisions sur la méthode readline

Nous avons vu ici :

1
2
3
4
5
6
7
temperatures = []
with open(file="temperatures_2020.csv", mode="r", encoding="utf-8") as fichier:
    fichier.readline()  
    for ligne in fichier:  
        ligne_propre = ligne.strip()  
        valeurs = ligne_propre.split(",")  
        temperatures.append(valeurs)

La méthode readline lit la ligne suivante dans le fichier (les caractères à partir de la position actuelle du pointeur de fichier jusqu'au premier caractère de fin de ligne rencontré, souvent \n pour les fichiers texte), à partir de la position actuelle du pointeur de fichier. Elle renvoie la chaîne de caractères correspondante, et incrémente le pointeur de fichier.
La ligne 3 de ce script permet donc de lire la première ligne du fichier, qui contient les descripteurs (ceux-ci ne sont pas récupérés ici), et incrémente le pointeur de fichier.
👉 Ainsi la ligne 4 de ce script ne parcourt le fichier qu'à partir de la deuxième ligne de ce fichier, comme indiqué ici: 👓 Parcours et lecture de toutes les lignes restantes 👓

QCM : Les fichiers CSV

  1. En anglais, "séparer" se dit :

    • split

    • strip

    • trip

    • spit

    • slit

  2. En anglais "enlever" se dit :

    • split

    • slit

    • trip

    • skip

    • strip

  3. Sélectionner toutes les bonnes réponses : Dans un fichier CSV

    • La première ligne est différente des autres car elle contient les descripteurs.

    • Toutes les lignes sont des enregistrements.

    • Les enregistrements ne commencent qu'à la deuxième ligne.

    • Au sein d'une ligne les valeurs sont entre des délimiteurs

    • On peut lire toutes les lignes avec les instructions suivantes :

      🐍 Script Python
      with open(file="fichier.txt", mode="r", encoding="utf-8") as fichier:
          resultat = fichier.readline()
      

    • On peut lire toutes les lignes avec les instructions suivantes :

      🐍 Script Python
      with open(file="fichier.txt", mode="r", encoding="utf-8") as fichier:
          resultat = fichier.readlines()
      

    • Le code suivant permet de créer une liste de listes contenant toutes les lignes du fichier, sauf la ligne des descripteurs.

      🐍 Script Python
      temperatures = []
      with open(file="temperatures_2020.csv", mode="r", encoding="utf-8") as fichier:
          fichier.readline()  
          for ligne in fichier:  
              ligne_propre = ligne.strip()  
              valeurs = ligne_propre.split(",")  
              temperatures.append(valeurs)
      

    • Le code suivant permet de récupérer une liste de dictionnaires représentant le fichier csv :

      🐍 Script Python
      import csv
      with open("temperatures_2020.csv", "r", encoding="utf-8") as fichier:
          lecteur = csv.DictReader(fichier, delimiter=",")  # 
          temperatures = [entree for entree in lecteur]