Outils pour utilisateurs

Outils du site


icn:facultatif:c_langage_python_fichier

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
icn:facultatif:c_langage_python_fichier [2019/04/04 22:39]
127.0.0.1 modification externe
icn:facultatif:c_langage_python_fichier [2019/09/26 20:29]
techer.charles_educ-valadon-limoges.fr
Ligne 68: Ligne 68:
 La méthode readline permet de lire une seule ligne du fichier. La méthode readline permet de lire une seule ligne du fichier.
 <code python> <code python>
-mon_fichier = open("test.csv", "r"+with open("test.csv", "r"as mon_fichier: 
-ligne = mon_fichier.readline()+   ligne = mon_fichier.readline()
 </code> </code>
 Ici, ligne contient tous les champs de l'enregistrement qui vient d'être lu, chaque champ séparé par un point-virgule. Pour isoler chaque champ, il faut utiliser la commande split vue lors du cours sur les chaînes de caractères. Ici, ligne contient tous les champs de l'enregistrement qui vient d'être lu, chaque champ séparé par un point-virgule. Pour isoler chaque champ, il faut utiliser la commande split vue lors du cours sur les chaînes de caractères.
 <code python> <code python>
-mon_fichier = open("test.csv", "r"+with open("test.csv", "r"as mon_fichier: 
-ligne = mon_fichier.readline() +   ligne = mon_fichier.readline() 
-nom = ligne.split(';')[1] +   nom = ligne.split(';')[1] 
-prenom = ligne.split(';')[2]+   prenom = ligne.split(';')[2] 
 +   print(f'Mon nom est {nom} et mon prénom est {prenom}')
 </code> </code>
 ligne.split(' ; ') avec l'indice i permet d'isoler le ième champ de la ligne. //Il faut se rappeler que les champs sont numérotés à partir de 0.// ligne.split(' ; ') avec l'indice i permet d'isoler le ième champ de la ligne. //Il faut se rappeler que les champs sont numérotés à partir de 0.//
 +
 +Dans l'instruction **print** est utilisé un **f-string**. La **chaîne de caractères est formatée** avant affichage en remplaçant les variables indiquées entre **accolades** par leur contenu.
  
 === Comment détecter la fin d'un fichier du fichier === === Comment détecter la fin d'un fichier du fichier ===
Ligne 89: Ligne 92:
 while ligne !="\n": while ligne !="\n":
     ligne = mon_fichier.readline()     ligne = mon_fichier.readline()
-    //"""exploitation de la ligne"""//+    #exploitation de la ligne
 mon_fichier.close  mon_fichier.close 
 </code> </code>
  
 +**Solution plus élégante avec une boucle for** : 
 +<code python>
 +mon_fichier = open("test.csv", "r")
 +for ligne in mon_fichier:
 +    #exploitation de la ligne
 +mon_fichier.close 
 +</code>
 ==== Ecriture dans un fichier ==== ==== Ecriture dans un fichier ====
  
Ligne 113: Ligne 123:
 le fichier est automatiquement fermé le fichier est automatiquement fermé
 </WRAP> </WRAP>
 +
 +==== Utiliser le module CSV de Python ====
 +Le module Python csv facilite la lecture et l'écriture des fichiers au format CSV : 
 +  * **csv.reader** permet de lire et décoder un flux CSV ;
 +  * **csv.writer** permet d'encoder et d'écrire un flux CSV
 +
 +=== Lire un fichier CSV ===
 +
 +<code python>
 +import csv
 +mon_fichier = open("eleves.csv", "r")
 +contenu = csv.reader(mon_fichier, delimiter=';')
 +for ligne in contenu:
 +    #exploitation de la ligne
 +    print(ligne[1], " ", ligne[2])
 +mon_fichier.close
 +</code> 
 +
 +=== Ecrire dans une fichier CSV ===
 +
 +<code python>
 +import csv
 +mon_fichier = open("eleves.csv", "a")
 +contenu = csv.writer(mon_fichier)
 +contenu.writerow( ("1515","Dupond","Charles") )
 +mon_fichier.close
 +</code> 
 ===== Gérer des dictionnaires ===== ===== Gérer des dictionnaires =====
 Python permet d'enregistrer des données d'un **dictionnaire** en utilisant le **format JSON**. Voici les mêmes données sous forme d'un tableau contenant des dictionnaires :  Python permet d'enregistrer des données d'un **dictionnaire** en utilisant le **format JSON**. Voici les mêmes données sous forme d'un tableau contenant des dictionnaires : 
icn/facultatif/c_langage_python_fichier.txt · Dernière modification: 2019/09/26 20:47 de techer.charles_educ-valadon-limoges.fr