SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
1
Les fichiers sous Python
Lecture, création, écriture
Fichiers texte et CSV
Fichiers JSON et XML
2
Fichiers ?
Fichier - Collection d’informations stockées sur une mémoire de
masse (non volatile, capacité plus importante que la mémoire vive)
Types de fichiers – Ils se distinguent par:
1. Organisation des données : structuré (les tables, BDD), les
informations sont organisées d’une manière particulière qu’il faut
respecter (ex. fichiers d’enregistrements) ; non-structuré, les
informations sont alignées à la suite (ex. fichier texte)
2. Mode d’accès aux données : accès indicé, utilisable comme un
tableau ; accès séquentiel, lecture ou écriture pas à pas (ex. ligne
par ligne dans un fichier texte)
3
Accès séquentiel, non structuré
FICHIER TEXTE
4
Comment Fonctionnent les fichiers:
Accès aux fichiers en Python
En général, pour utiliser un fichier, on a trois étapes fondamentales :
1. L’ouverture du fichier
2. l’opération voulue (lecture / ecriture/ ajout)
3. La fermeture du fichier
Ouverture du fichier :
L’ouverture du fichier doit être la toute première opération effectuée
sur le flux.
Syntaxe : f = open(file, mode = ‘r’, encoding = None)
5
avec :
● file : spécifie le nom du fichier à associer au flux;
● mode (facultatif): spécifie le mode ouvert utilisé pour le flux. Le mode d’ouverture par
défaut est la lecture en mode texte
● encoding (facultatif) : spécifie le type de codage (par exemple, UTF-8 lors de l’utilisation
de fichiers texte). l’encodage par défaut dépend de la plateforme utilisée. L'encodage
détermine comment les caractères sont représentés sous forme de séquences d'octets.
● si l’ouverture réussit, la fonction open() renvoie un objet f; sinon, une exception est
déclenchée
Les modes d’ouverture les plus importants : lecture (r) , Ecriture (w) et ajout ( a)
Rappel : Pour ouvrir le flux en :
– mode binaire, on ajoute la lettre b à la fin de la chaîne , les données ne seront pas
traitées comme du texte mais comme des séquences d'octets bruts.
– mode texte, on ajoute la lettre t à la fin de la chaîne
6
avec :
● file : spécifie le nom du fichier à associer au flux;
● mode (facultatif): spécifie le mode ouvert utilisé pour le flux. Le mode d’ouverture par
défaut est la lecture en mode texte
● encoding (facultatif) : spécifie le type de codage (par exemple, UTF-8 lors de l’utilisation
de fichiers texte). l’encodage par défaut dépend de la plateforme utilisée. L'encodage
détermine comment les caractères sont représentés sous forme de séquences d'octets.
● si l’ouverture réussit, la fonction open() renvoie un objet f; sinon, une exception est
déclenchée
Les modes d’ouverture les plus importants : lecture (r) , Ecriture (w) et ajout ( a)
Rappel : Pour ouvrir le flux en :
– mode binaire, on ajoute la lettre b à la fin de la chaîne , les données ne seront pas
traitées comme du texte mais comme des séquences d'octets bruts.
– mode texte, on ajoute la lettre t à la fin de la chaîne
7
Il existe quatre méthodes (modes) différentes pour ouvrir un fichier:
● "r" -Lecture -Par défaut. Ouvre un fichier en lecture, erreur si le fichier
n'existe pas
● "a" -Ajouter -Ouvre un fichier à ajouter, crée le fichier s'il n'existe pas
● "w" -Écrire -Ouvre un fichier pour l'écriture, crée le fichier s'il n'existe pas
● "x" -Créer -Crée le fichier spécifié, renvoie une erreur si le fichier existe
Fermeture du fichier :
La dernière opération effectuée devrait être la fermeture : f.close(). la fonction ne
renvoie rien mais lève l’exception IOError en cas d’erreur;
Remarque : La fonction strerror() permet de simplifier le code de gestion des
erreurs. elle provient du module os et attend un seul argument (un numéro
d’erreur) .
8
Comment lire un fichier texte
#ouverture en lecture
f= open("voitures.txt","r")
#lecture
s= f.read()
#affichage
print("** contenu de s **")
print(s)
print("** fin contenu **")
#information sur s
print("type de s : ",type(s))
print("longueur de s : ", len(s))
#fermeture
f.close()
Fichier texte à lire : «voitures.txt»
megane
clio
twingo
safrane
laguna
vel satis
•open() permet d’ouvrir un fichier, en lecture
(le rôle de r) ici avec l’option «r». La fonction
renvoie un objet de type fichier stocké dans f
•le curseur de fichier est placé sur la première
ligne
•read() lit tout le contenu du fichier d’un bloc
•close() ferme le fichier (et donc le
déverrouille)
Ouvrir le fichier en lecture
fermer le fichier
f : référence de fichier
Lecture en bloc avec read() (1/2)
9
#ouverture en lecture
f= open("voitures.txt","r")
#lecture
s= f.read()
#affichage
print("** contenu de s **")
print(s)
print("** fin contenu **")
#information sur s
print("type de s : ",type(s))
print("longueur de s : ", len(s))
#fermeture
f.close()
** contenu de s **
megane
clio
twingo
safrane
laguna
vel satis
** fin contenu **
type de s : <class 'str'>
longueur de s : 45
Lecture en bloc avec read() (2/2)
Lecture en bloc avec readlines
#ouverture en lecture
f = open("voitures.txt","r")
#lecture
lst= f.readlines()
#affichage
print("** contenu de lst**")
print(lst)
print("** fin contenu **")
#information sur lst
print("type de lst : ",type(lst))
print("longueur de lst : ", len(lst))
#fermeture
f.close()
Le contenu du fichier est
stocké dans une liste, une ligne
= un élément. Le caractère n
est maintenu. Il n’est pas
présent sur la dernière ligne de
notre fichier exemple.
** contenu de lst**
['meganen', 'clion', 'twingon',
'safranen', 'lagunan', 'vel satisn']
** fin contenu **
type de lst : <class 'list'>
longueur de lst : 6
On fait la mm chose open en lecture
Read mnt readlines
Remarque : saut de ligne ou pas sur la dernière ligne du fichier
Question : Comment savoir s’il y a un saut de ligne ou pas à la dernière ligne de notre
fichier texte ?
La ligne n°6 est la dernière ligne du
fichier, pas de saut ligne après «velsatis»
Il y a une ligne vide(la n°7) après
«velsatis»
Lecture ligne par ligne avec readline(sans «s»)
#ouverture en lecture
f = open("voitures.txt","r")
#lecture ligne itérativement
while True: (tant que ou for)
s = f.readline()
if (s != ""):
print(s) (print(s,end=""))
else:
break;
#fermeture
f.close()
•readline() lit la ligne courante et place le curseur sur la ligne suivante.
(ligne par ligne)
•la fonction renvoie la chaîne vide lorsque nous arrivons à la fin du fichier
(Remarque : s’il y a une ligne blanche entre 2 véhicules, readline() renvoie
le caractère «n», ce n’est pas une chaîne vide).
Il y a une ligne vide entre chaque véhicule parce que le caractère «n»
est toujours là, print() le prend en compte [ Remarque : pour que
print() n’en tienne pas compte, il faudrait faire print(s,end="") ]
megane
clio
twingo
safrane
laguna
vel satis
Lecture ligne par ligne en itérant sur l’objet fichier
#ouverture en lecture
f= open("voitures.txt","r")
#lecture ligne itérativement
for s in f:
print (s, len(s))
#fermeture
f.close()
C’est la forme la plus efficace - et la plus concise- pour une lecture
ligne à ligne.
Le caractère n est présent toujours, noter la longueur de la chaîne
(+1 pour toutes sauf la dernière)
Ecriture d’un fichier texte avec write()
#ouverture en écriture
f = open("moto.txt","w") (open le fichier en w)
# écriture (écrire les informations )
f.write("honda")
f.write("yamaha")
f.write("ducati")
#fermeture
f.close()
•open() permet d’ouvrir un fichier en
écriture avec l’option «w». La fonction
renvoie un objet de type fichier référencée
par f
•avec «w», le fichier est écrasé s’il existe
déjà
•write() permet d’écrire la chaîne de
caractères
#ouverture en écriture
f = open("moto.txt","w")
#écriture
f.write("hondan")
f.write("yamahan")
f.write("ducati")
#fermeture
f.close()
Ecriture d’un fichier texte avec writelines()
writelines() permet d’écrire directement le contenu d’une liste.
Nous devons quand même insérer le caractère «n» pour que le
saut de ligne soit effectif dans le fichier.
#ouverture en écriture
f = open("moto.txt","w")
#liste
lst= ["hondan","yamahan","ducati"]
#écriture
f.writelines(lst)
#fermeture
f.close()
Ajout dans un fichier texte
• open() avec l’option «a» permet d’ouvrir un fichier en mode ajout
• write() permet d’écrire la chaîne de caractères
• attention toujours au saut de ligne
• une ouverture en mode lecture / écriture est possible avec l’option
«r+» mais se positionner sur telle ou telle ligne pour y modifier ou
insérer des informations est compliqué.
#ouverture en ajout
f = open("moto.txt","a")
#ajouter un saut de ligne
f.write("n")
#écriture
f.write("laverda")
#fermeture
f.close()
honda
yamaha
ducati
laverda
Exercice:
Manipuler les Fichiers TXT avec Python
Ouvrir un fichier en lecture
Afficher le contenu du fichier
Ouvrir les données dans un répertoire
Afficher le fichier
Afficher les 3 caractères
Afficher un certains nbre
Lire ligne par ligne
Ecraser le contenu d'un fichier
Solution Exercice:
Manipuler les Fichiers TXT avec Python
# ouvrir en lecture
fichier = open("fichiert_tx.txt","r")
# afficher le fichier
print(fichier.read())
# ouvrir les données dans un repertoire
fichier2 = open("D:fichier_p.txt")
# afficher le fichier
print(fichier2.read())
# afficher les 3caracteres
fichier3 = open("D:fichier_p.txt")
print(fichier3.read(3))
# afficher un certains nbre
# lire une ligne
fichier4 = open("D:fichier_p.txt")
print(fichier4.readline())
# lire ligne par ligne
fichier4 = open("D:fichier_p.txt")
for ligne in fichier4:
print(ligne)
# fermer le fichier
fichier4.close()
# ecrire dans un fichier existant
fichier = open("D:fichier_p.txt","a")
fichier.write ("n"+"4")
fichier.close()
#lire a nouveau
fichier = open("D:fichier_p.txt")
print(fichier.read())
fichier.close()
# ecraser le contenu d'un fichier
fichier = open("D:fichier_p.txt","w")
fichier.write ("new data")
fichier = open("D:fichier_p.txt","r")
print(fichier.read())
fichier.close()
Fichier structuré
FORMAT CSV
Format CSV
Un fichier CSV(Comma-separated values) est un fichier texte (!) avec
une structure tabulaire. Ce type de fichier peut être généré à partir
d’un tableur (Excel ou Calc d’Open/Libre Office). C’est un format
privilégié pour le traitement statistique des données.
Lecture du format CSV – Structure de liste
#ouverture en lecture
f= open("personnes.csv","r")
#importation du module csv
import csv
#lecture –utilisation du parseur csv
lecteur= csv.reader(f,delimiter=";")
#affichage –itération sur chaque ligne
for ligne in lecteur:
print (ligne)
#fermeture du fichier
f.close()
Paramétrage du séparateur de
colonnes avec l’option delimiter.
Chaque ligne est une liste.
Remarques :
1.La première ligne est une observation comme une autre.
2.Toutes les valeurs sont considérées comme chaîne de caractères [une
conversion automatique des chiffres est possible, mais elle ne fonctionne pas
si le point décimal est «,» -mieux vaut une conversion explicite avec float() ]
Lecture du format CSV –Structure de dictionnaire
#ouverture en lecture
f= open("personnes.csv","r")
#importation du module csv
import csv
#lecture
lecteur= csv.DictReader(f,delimiter=";")
#affichage
for ligne in lecteur:
print (ligne)
#fermeture
f.close() Chaque ligne est un Dict
Fichier structuré
| FORMAT JSON |
(JavaScript Object Notation)
exemple1.py
import json
# lecture (lecture du fichier)
with open ("02-data.json", "r") as read_file:
data = json.load(read_file)
# affichage
for cle in data: (parcourir le fichier)
print("cle: ", cle, " valeur: ", data[cle])
{
"groupe": "Pearl Jam",
"titre_album": "Ten",
"annee": 1991,
"genre": "Alternative",
"titres": {
"1": "Once",
"2": "Even Flow",
"3": "Alive",
"4": "Why Go",
"5": "Black",
"6": "Jeremy",
"7": "Oceans",
"8": "Porch",
"9": "Garden",
"10": "Deep",
"11": "Release"
}
}
C’est un fichier structuré
Pour manipuler les data de type json (site)
02-data.json
Comment manipuler les données
de type json avec Python
Le nom du fichier
Ouvrir en lecture
cle: groupe valeur: Pearl Jam
cle: titre_album valeur: Ten
cle: annee valeur: 1991
cle: genre valeur: Alternative
cle: titres valeur: {'1': 'Once', '2': 'Even
Flow', '3': 'Alive', '4': 'Why Go', '5': 'Black', '6':
'Jeremy', '7': 'Oceans', '8': 'Porch', '9':
'Garden', '10': 'Deep', '11': 'Release'}
https://public.opendatasoft.com/explore/?sort=modified
Comment écrire dans un fichier json:
import json
# lecture
with open("02-data.json", "r") as read_file:
data = json.load(read_file)
# affichage
for cle in data:
print("cle: ", cle, " valeur: ", data[cle])
#ecrire-1
with open("03-file.json", "w") as f:
json.dump(data,f,indent=4, ensure_ascii=False, sort_keys=False)
Le nouveau fichier
Option par défaut
Comment écrire on utilisant un dictionnaire
#ecrire-2
dictionary = {
"groupe": "Pearl Jam",
"titre_album": "VS",
"annee": 1993,
"genre": "Alternative",
"titres": {
"1": "Go",
"2": "Animal",
"3": "Daughter",
}
}
json_object = json.dumps(dictionary, indent=4)
with open("04-new.json", "w") as outfile:
outfile.write(json_object)
Comment lire les données à partir d’un lien ? (import requests)
#lecture lien
r =
requests.get('https://public.opendatasoft.com/api/records/1.0/
search/?dataset=evenements-publics-cibul&q=&facet=tags&fac
et=placename&facet=department&facet=region&facet=city&fa
cet=date_start&facet=date_end&facet=pricing_info&facet=upd
ated_at&facet=city_district')
data = r.json()
print(json.dumps(data, indent = 4, sort_keys=False))
from flatten_json import flatten
import csv
#json
json_data = {
"groupe": "Pearl Jam",
"titre_album": "Ten",
"annee": 1991,
"genre": "Alternative",
"titres": {
"1": "Once",
"2": "Even Flow",
"3": "Alive",
"4": "Why Go",
"5": "Black",
"6": "Jeremy",
"7": "Oceans",
"8": "Porch",
"9": "Garden",
"10": "Deep",
"11": "Release"
}
}
#flatten json
json_flatten_data = flatten(json_data)
#fichier csv
file = open(“data.csv", "w")
all_keys = []
for element in json_flatten_data:
all_keys.append(element)
writter = csv.DictWriter(file, all_keys)
writter.writeheader()
writter.writerow(json_flatten_data)
file.close()
1- Convertir un Fichier Json en CSV avec Python
A partir d’un fichier json ?
Un fichier JSON(JavaScript Object Notation) est un fichier texte (!)
mais avec une structure standardisée permettant de rendre compte
de l’organisation des données. C’est un format reconnu pour l’
échange de données entre applications. Deux types d’éléments
structurels : (1) des ensembles de paires «nom –valeur» ; (2) des
listes ordonnées de valeur.
#début définition
classPersonne:
"""Classe Personne"""
#constructeur
def__init__(self):
#lister les champs
self.nom = ""
self.age = 0
self.salaire= 0.0
#fin constructeur
… saisie et affichage …
#fin définition
A faire :
(A)Comment sauvegarder un objet de type
Personne dans un fichier ?
(B)Comment sauvegarder une collection (liste) de
personnes.
Exemples
Le plus simple : passer par le type dictionnaire
Idée : Le type dict permet de définir une collection d’éléments
prenant la forme «étiquette : valeur ». Nous exploitons cela pour
sauver les champs de l’objet.
# -*-coding: utf-*-
#import Personne
import ModulePersonne as MP
#import module json
Import json
#saisie personne
p = MP.Personne()
p.saisie()
#sauvegarde
f = open("personne.json","w")
#dictionnaire
d = {"Nom":p.nom,"Age":p.age,"Salaire":p.salaire}
#sauver au format json
json.dump(d,f)
#fermer le fichier
f.close();
• noter l’importation du module json
•une étape clé est la transformation de l’objet
référencé par p en un dictionnaire référencé par d
•la fonction dump() de la classe json permet de
stocker l’objet dictionnaire dans le fichier
référencé par f
•il ne faut pas oublier d’ouvrir en écriture puis de
fermer le fichier
•noter le format de fichier json avec les accolades
{} pour délimiter un enregistrement
Sauvegarde : astuce, utiliser l’attribut standard __dict__
# -*-coding: utf-*-
#import Personne
import ModulePersonne as MP
#import module json
Import json
#saisie personne
p = MP.Personne()
p.saisie()
#sauvegarde
f = open("personne.json","w")
#sauver au format json
json.dump(p.__dict__,f) #!!! (champ interne de l’objet)
#fermer le fichier
f.close();
Remarque: The json. loads() function is used to parse a JSON string and convert
it into a Python object, while the json. dump() function is used to serialize a
Python object into a JSON formatted string and write it to a file-like object
Idée :Tous les objets Python
(instance de classe) possède
l’attribut standard __dict__, il
recense les champs de la classe
et leurs valeurs pour l’objet. Il est
de type dictionnaire. C’est
exactement ce qu’il nous faut.
-- le code est grandement simplifié
Charger l’objet via le type dictionnaire
# -*-coding: utf-*-
#import Personne
import ModulePersonne as MP
#import module json
import json
#ouverture fichier
f = open("personne.json","r")
#chargement
d = json.load(f)
print(d)
print(type(d))
#transf. en Personne
p = MP.Personne()
p.nom = d["Nom"]
p.age = d["Age"]
p.salaire= d["Salaire"]
#affichage
p.affichage()
#fermeture
f.close();
•le fichier est ouvert en lecture maintenant
•load() de la classe json s’occupe du
chargement
•l’objet chargé est de type dict (dictionnaire)
•nous créons une instance de Personne, et
nous recopions les informations
•l’objet référencé par p peut vivre sa vie par la
suite Ex. ici utilisation de la méthode
affichage()
Références
De la documentation à profusion
Site du cours
http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html
Site de Python
Welcometo Python -https://www.python.org/
Python 3.4.3documentation -https://docs.python.org/3/index.html
Portail Python
Page Python de Developpez.com
Quelques cours en ligne
P. Fuchs, P. Poulain, «Cours de Python» sur Developpez.com
G. Swinnen, «Apprendre à programmer avec Python» sur Developpez.com
«Python», Cours interactif sur Codecademy
POLLS (KDnuggets)
Data Mining / AnalyticsTools Used
Python, 4èmeen 2015
What languages you used for data mining / data science?
Python, 3èmeen 2014(derrière R et SAS)

Contenu connexe

Similaire à Les_fichiers_sousPython..TXT et JSON et csv

Les instructions simples en pascal p1
Les instructions simples en pascal p1Les instructions simples en pascal p1
Les instructions simples en pascal p1دليل الحياة
 
Exploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXExploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXEmmanuelle Morlock
 
Cours système d’exploitation partie3
Cours système d’exploitation partie3Cours système d’exploitation partie3
Cours système d’exploitation partie3manou2008
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sortiesJihed Kaouech
 
Chap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxChap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxZohraQassimi
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaKorteby Farouk
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 
Python et la persistance de données — initiation python 1.5
Python et la persistance de données — initiation python 1.5Python et la persistance de données — initiation python 1.5
Python et la persistance de données — initiation python 1.5Abib Faye
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 

Similaire à Les_fichiers_sousPython..TXT et JSON et csv (20)

Rapport Projet Module Complexité
Rapport Projet Module ComplexitéRapport Projet Module Complexité
Rapport Projet Module Complexité
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Les instructions simples en pascal p1
Les instructions simples en pascal p1Les instructions simples en pascal p1
Les instructions simples en pascal p1
 
Exploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXExploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseX
 
Cours système d’exploitation partie3
Cours système d’exploitation partie3Cours système d’exploitation partie3
Cours système d’exploitation partie3
 
JAVA-IO.pdf
JAVA-IO.pdfJAVA-IO.pdf
JAVA-IO.pdf
 
JAVA-IO.pdf
JAVA-IO.pdfJAVA-IO.pdf
JAVA-IO.pdf
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sorties
 
Chap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxChap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptx
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en Java
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
Python et la persistance de données — initiation python 1.5
Python et la persistance de données — initiation python 1.5Python et la persistance de données — initiation python 1.5
Python et la persistance de données — initiation python 1.5
 
Tubes.pdf
Tubes.pdfTubes.pdf
Tubes.pdf
 
Rar
RarRar
Rar
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
Commande linux
Commande linuxCommande linux
Commande linux
 
Formation python
Formation pythonFormation python
Formation python
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 

Dernier

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 

Dernier (15)

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 

Les_fichiers_sousPython..TXT et JSON et csv

  • 1. 1 Les fichiers sous Python Lecture, création, écriture Fichiers texte et CSV Fichiers JSON et XML
  • 2. 2 Fichiers ? Fichier - Collection d’informations stockées sur une mémoire de masse (non volatile, capacité plus importante que la mémoire vive) Types de fichiers – Ils se distinguent par: 1. Organisation des données : structuré (les tables, BDD), les informations sont organisées d’une manière particulière qu’il faut respecter (ex. fichiers d’enregistrements) ; non-structuré, les informations sont alignées à la suite (ex. fichier texte) 2. Mode d’accès aux données : accès indicé, utilisable comme un tableau ; accès séquentiel, lecture ou écriture pas à pas (ex. ligne par ligne dans un fichier texte)
  • 3. 3 Accès séquentiel, non structuré FICHIER TEXTE
  • 4. 4 Comment Fonctionnent les fichiers: Accès aux fichiers en Python En général, pour utiliser un fichier, on a trois étapes fondamentales : 1. L’ouverture du fichier 2. l’opération voulue (lecture / ecriture/ ajout) 3. La fermeture du fichier Ouverture du fichier : L’ouverture du fichier doit être la toute première opération effectuée sur le flux. Syntaxe : f = open(file, mode = ‘r’, encoding = None)
  • 5. 5 avec : ● file : spécifie le nom du fichier à associer au flux; ● mode (facultatif): spécifie le mode ouvert utilisé pour le flux. Le mode d’ouverture par défaut est la lecture en mode texte ● encoding (facultatif) : spécifie le type de codage (par exemple, UTF-8 lors de l’utilisation de fichiers texte). l’encodage par défaut dépend de la plateforme utilisée. L'encodage détermine comment les caractères sont représentés sous forme de séquences d'octets. ● si l’ouverture réussit, la fonction open() renvoie un objet f; sinon, une exception est déclenchée Les modes d’ouverture les plus importants : lecture (r) , Ecriture (w) et ajout ( a) Rappel : Pour ouvrir le flux en : – mode binaire, on ajoute la lettre b à la fin de la chaîne , les données ne seront pas traitées comme du texte mais comme des séquences d'octets bruts. – mode texte, on ajoute la lettre t à la fin de la chaîne
  • 6. 6 avec : ● file : spécifie le nom du fichier à associer au flux; ● mode (facultatif): spécifie le mode ouvert utilisé pour le flux. Le mode d’ouverture par défaut est la lecture en mode texte ● encoding (facultatif) : spécifie le type de codage (par exemple, UTF-8 lors de l’utilisation de fichiers texte). l’encodage par défaut dépend de la plateforme utilisée. L'encodage détermine comment les caractères sont représentés sous forme de séquences d'octets. ● si l’ouverture réussit, la fonction open() renvoie un objet f; sinon, une exception est déclenchée Les modes d’ouverture les plus importants : lecture (r) , Ecriture (w) et ajout ( a) Rappel : Pour ouvrir le flux en : – mode binaire, on ajoute la lettre b à la fin de la chaîne , les données ne seront pas traitées comme du texte mais comme des séquences d'octets bruts. – mode texte, on ajoute la lettre t à la fin de la chaîne
  • 7. 7 Il existe quatre méthodes (modes) différentes pour ouvrir un fichier: ● "r" -Lecture -Par défaut. Ouvre un fichier en lecture, erreur si le fichier n'existe pas ● "a" -Ajouter -Ouvre un fichier à ajouter, crée le fichier s'il n'existe pas ● "w" -Écrire -Ouvre un fichier pour l'écriture, crée le fichier s'il n'existe pas ● "x" -Créer -Crée le fichier spécifié, renvoie une erreur si le fichier existe Fermeture du fichier : La dernière opération effectuée devrait être la fermeture : f.close(). la fonction ne renvoie rien mais lève l’exception IOError en cas d’erreur; Remarque : La fonction strerror() permet de simplifier le code de gestion des erreurs. elle provient du module os et attend un seul argument (un numéro d’erreur) .
  • 8. 8 Comment lire un fichier texte #ouverture en lecture f= open("voitures.txt","r") #lecture s= f.read() #affichage print("** contenu de s **") print(s) print("** fin contenu **") #information sur s print("type de s : ",type(s)) print("longueur de s : ", len(s)) #fermeture f.close() Fichier texte à lire : «voitures.txt» megane clio twingo safrane laguna vel satis •open() permet d’ouvrir un fichier, en lecture (le rôle de r) ici avec l’option «r». La fonction renvoie un objet de type fichier stocké dans f •le curseur de fichier est placé sur la première ligne •read() lit tout le contenu du fichier d’un bloc •close() ferme le fichier (et donc le déverrouille) Ouvrir le fichier en lecture fermer le fichier f : référence de fichier Lecture en bloc avec read() (1/2)
  • 9. 9 #ouverture en lecture f= open("voitures.txt","r") #lecture s= f.read() #affichage print("** contenu de s **") print(s) print("** fin contenu **") #information sur s print("type de s : ",type(s)) print("longueur de s : ", len(s)) #fermeture f.close() ** contenu de s ** megane clio twingo safrane laguna vel satis ** fin contenu ** type de s : <class 'str'> longueur de s : 45 Lecture en bloc avec read() (2/2)
  • 10. Lecture en bloc avec readlines #ouverture en lecture f = open("voitures.txt","r") #lecture lst= f.readlines() #affichage print("** contenu de lst**") print(lst) print("** fin contenu **") #information sur lst print("type de lst : ",type(lst)) print("longueur de lst : ", len(lst)) #fermeture f.close() Le contenu du fichier est stocké dans une liste, une ligne = un élément. Le caractère n est maintenu. Il n’est pas présent sur la dernière ligne de notre fichier exemple. ** contenu de lst** ['meganen', 'clion', 'twingon', 'safranen', 'lagunan', 'vel satisn'] ** fin contenu ** type de lst : <class 'list'> longueur de lst : 6 On fait la mm chose open en lecture Read mnt readlines
  • 11. Remarque : saut de ligne ou pas sur la dernière ligne du fichier Question : Comment savoir s’il y a un saut de ligne ou pas à la dernière ligne de notre fichier texte ? La ligne n°6 est la dernière ligne du fichier, pas de saut ligne après «velsatis» Il y a une ligne vide(la n°7) après «velsatis»
  • 12. Lecture ligne par ligne avec readline(sans «s») #ouverture en lecture f = open("voitures.txt","r") #lecture ligne itérativement while True: (tant que ou for) s = f.readline() if (s != ""): print(s) (print(s,end="")) else: break; #fermeture f.close() •readline() lit la ligne courante et place le curseur sur la ligne suivante. (ligne par ligne) •la fonction renvoie la chaîne vide lorsque nous arrivons à la fin du fichier (Remarque : s’il y a une ligne blanche entre 2 véhicules, readline() renvoie le caractère «n», ce n’est pas une chaîne vide). Il y a une ligne vide entre chaque véhicule parce que le caractère «n» est toujours là, print() le prend en compte [ Remarque : pour que print() n’en tienne pas compte, il faudrait faire print(s,end="") ] megane clio twingo safrane laguna vel satis
  • 13. Lecture ligne par ligne en itérant sur l’objet fichier #ouverture en lecture f= open("voitures.txt","r") #lecture ligne itérativement for s in f: print (s, len(s)) #fermeture f.close() C’est la forme la plus efficace - et la plus concise- pour une lecture ligne à ligne. Le caractère n est présent toujours, noter la longueur de la chaîne (+1 pour toutes sauf la dernière)
  • 14. Ecriture d’un fichier texte avec write() #ouverture en écriture f = open("moto.txt","w") (open le fichier en w) # écriture (écrire les informations ) f.write("honda") f.write("yamaha") f.write("ducati") #fermeture f.close() •open() permet d’ouvrir un fichier en écriture avec l’option «w». La fonction renvoie un objet de type fichier référencée par f •avec «w», le fichier est écrasé s’il existe déjà •write() permet d’écrire la chaîne de caractères #ouverture en écriture f = open("moto.txt","w") #écriture f.write("hondan") f.write("yamahan") f.write("ducati") #fermeture f.close()
  • 15. Ecriture d’un fichier texte avec writelines() writelines() permet d’écrire directement le contenu d’une liste. Nous devons quand même insérer le caractère «n» pour que le saut de ligne soit effectif dans le fichier. #ouverture en écriture f = open("moto.txt","w") #liste lst= ["hondan","yamahan","ducati"] #écriture f.writelines(lst) #fermeture f.close()
  • 16. Ajout dans un fichier texte • open() avec l’option «a» permet d’ouvrir un fichier en mode ajout • write() permet d’écrire la chaîne de caractères • attention toujours au saut de ligne • une ouverture en mode lecture / écriture est possible avec l’option «r+» mais se positionner sur telle ou telle ligne pour y modifier ou insérer des informations est compliqué. #ouverture en ajout f = open("moto.txt","a") #ajouter un saut de ligne f.write("n") #écriture f.write("laverda") #fermeture f.close() honda yamaha ducati laverda
  • 17. Exercice: Manipuler les Fichiers TXT avec Python Ouvrir un fichier en lecture Afficher le contenu du fichier Ouvrir les données dans un répertoire Afficher le fichier Afficher les 3 caractères Afficher un certains nbre Lire ligne par ligne Ecraser le contenu d'un fichier
  • 18. Solution Exercice: Manipuler les Fichiers TXT avec Python # ouvrir en lecture fichier = open("fichiert_tx.txt","r") # afficher le fichier print(fichier.read()) # ouvrir les données dans un repertoire fichier2 = open("D:fichier_p.txt") # afficher le fichier print(fichier2.read()) # afficher les 3caracteres fichier3 = open("D:fichier_p.txt") print(fichier3.read(3)) # afficher un certains nbre # lire une ligne fichier4 = open("D:fichier_p.txt") print(fichier4.readline()) # lire ligne par ligne fichier4 = open("D:fichier_p.txt") for ligne in fichier4: print(ligne) # fermer le fichier fichier4.close() # ecrire dans un fichier existant fichier = open("D:fichier_p.txt","a") fichier.write ("n"+"4") fichier.close() #lire a nouveau fichier = open("D:fichier_p.txt") print(fichier.read()) fichier.close() # ecraser le contenu d'un fichier fichier = open("D:fichier_p.txt","w") fichier.write ("new data") fichier = open("D:fichier_p.txt","r") print(fichier.read()) fichier.close()
  • 20. Format CSV Un fichier CSV(Comma-separated values) est un fichier texte (!) avec une structure tabulaire. Ce type de fichier peut être généré à partir d’un tableur (Excel ou Calc d’Open/Libre Office). C’est un format privilégié pour le traitement statistique des données.
  • 21. Lecture du format CSV – Structure de liste #ouverture en lecture f= open("personnes.csv","r") #importation du module csv import csv #lecture –utilisation du parseur csv lecteur= csv.reader(f,delimiter=";") #affichage –itération sur chaque ligne for ligne in lecteur: print (ligne) #fermeture du fichier f.close() Paramétrage du séparateur de colonnes avec l’option delimiter. Chaque ligne est une liste. Remarques : 1.La première ligne est une observation comme une autre. 2.Toutes les valeurs sont considérées comme chaîne de caractères [une conversion automatique des chiffres est possible, mais elle ne fonctionne pas si le point décimal est «,» -mieux vaut une conversion explicite avec float() ]
  • 22. Lecture du format CSV –Structure de dictionnaire #ouverture en lecture f= open("personnes.csv","r") #importation du module csv import csv #lecture lecteur= csv.DictReader(f,delimiter=";") #affichage for ligne in lecteur: print (ligne) #fermeture f.close() Chaque ligne est un Dict
  • 23. Fichier structuré | FORMAT JSON | (JavaScript Object Notation)
  • 24. exemple1.py import json # lecture (lecture du fichier) with open ("02-data.json", "r") as read_file: data = json.load(read_file) # affichage for cle in data: (parcourir le fichier) print("cle: ", cle, " valeur: ", data[cle]) { "groupe": "Pearl Jam", "titre_album": "Ten", "annee": 1991, "genre": "Alternative", "titres": { "1": "Once", "2": "Even Flow", "3": "Alive", "4": "Why Go", "5": "Black", "6": "Jeremy", "7": "Oceans", "8": "Porch", "9": "Garden", "10": "Deep", "11": "Release" } } C’est un fichier structuré Pour manipuler les data de type json (site) 02-data.json Comment manipuler les données de type json avec Python Le nom du fichier Ouvrir en lecture cle: groupe valeur: Pearl Jam cle: titre_album valeur: Ten cle: annee valeur: 1991 cle: genre valeur: Alternative cle: titres valeur: {'1': 'Once', '2': 'Even Flow', '3': 'Alive', '4': 'Why Go', '5': 'Black', '6': 'Jeremy', '7': 'Oceans', '8': 'Porch', '9': 'Garden', '10': 'Deep', '11': 'Release'} https://public.opendatasoft.com/explore/?sort=modified
  • 25. Comment écrire dans un fichier json: import json # lecture with open("02-data.json", "r") as read_file: data = json.load(read_file) # affichage for cle in data: print("cle: ", cle, " valeur: ", data[cle]) #ecrire-1 with open("03-file.json", "w") as f: json.dump(data,f,indent=4, ensure_ascii=False, sort_keys=False) Le nouveau fichier Option par défaut
  • 26. Comment écrire on utilisant un dictionnaire #ecrire-2 dictionary = { "groupe": "Pearl Jam", "titre_album": "VS", "annee": 1993, "genre": "Alternative", "titres": { "1": "Go", "2": "Animal", "3": "Daughter", } } json_object = json.dumps(dictionary, indent=4) with open("04-new.json", "w") as outfile: outfile.write(json_object)
  • 27. Comment lire les données à partir d’un lien ? (import requests) #lecture lien r = requests.get('https://public.opendatasoft.com/api/records/1.0/ search/?dataset=evenements-publics-cibul&q=&facet=tags&fac et=placename&facet=department&facet=region&facet=city&fa cet=date_start&facet=date_end&facet=pricing_info&facet=upd ated_at&facet=city_district') data = r.json() print(json.dumps(data, indent = 4, sort_keys=False))
  • 28. from flatten_json import flatten import csv #json json_data = { "groupe": "Pearl Jam", "titre_album": "Ten", "annee": 1991, "genre": "Alternative", "titres": { "1": "Once", "2": "Even Flow", "3": "Alive", "4": "Why Go", "5": "Black", "6": "Jeremy", "7": "Oceans", "8": "Porch", "9": "Garden", "10": "Deep", "11": "Release" } } #flatten json json_flatten_data = flatten(json_data) #fichier csv file = open(“data.csv", "w") all_keys = [] for element in json_flatten_data: all_keys.append(element) writter = csv.DictWriter(file, all_keys) writter.writeheader() writter.writerow(json_flatten_data) file.close() 1- Convertir un Fichier Json en CSV avec Python A partir d’un fichier json ?
  • 29. Un fichier JSON(JavaScript Object Notation) est un fichier texte (!) mais avec une structure standardisée permettant de rendre compte de l’organisation des données. C’est un format reconnu pour l’ échange de données entre applications. Deux types d’éléments structurels : (1) des ensembles de paires «nom –valeur» ; (2) des listes ordonnées de valeur. #début définition classPersonne: """Classe Personne""" #constructeur def__init__(self): #lister les champs self.nom = "" self.age = 0 self.salaire= 0.0 #fin constructeur … saisie et affichage … #fin définition A faire : (A)Comment sauvegarder un objet de type Personne dans un fichier ? (B)Comment sauvegarder une collection (liste) de personnes. Exemples
  • 30. Le plus simple : passer par le type dictionnaire Idée : Le type dict permet de définir une collection d’éléments prenant la forme «étiquette : valeur ». Nous exploitons cela pour sauver les champs de l’objet. # -*-coding: utf-*- #import Personne import ModulePersonne as MP #import module json Import json #saisie personne p = MP.Personne() p.saisie() #sauvegarde f = open("personne.json","w") #dictionnaire d = {"Nom":p.nom,"Age":p.age,"Salaire":p.salaire} #sauver au format json json.dump(d,f) #fermer le fichier f.close(); • noter l’importation du module json •une étape clé est la transformation de l’objet référencé par p en un dictionnaire référencé par d •la fonction dump() de la classe json permet de stocker l’objet dictionnaire dans le fichier référencé par f •il ne faut pas oublier d’ouvrir en écriture puis de fermer le fichier •noter le format de fichier json avec les accolades {} pour délimiter un enregistrement
  • 31. Sauvegarde : astuce, utiliser l’attribut standard __dict__ # -*-coding: utf-*- #import Personne import ModulePersonne as MP #import module json Import json #saisie personne p = MP.Personne() p.saisie() #sauvegarde f = open("personne.json","w") #sauver au format json json.dump(p.__dict__,f) #!!! (champ interne de l’objet) #fermer le fichier f.close(); Remarque: The json. loads() function is used to parse a JSON string and convert it into a Python object, while the json. dump() function is used to serialize a Python object into a JSON formatted string and write it to a file-like object Idée :Tous les objets Python (instance de classe) possède l’attribut standard __dict__, il recense les champs de la classe et leurs valeurs pour l’objet. Il est de type dictionnaire. C’est exactement ce qu’il nous faut. -- le code est grandement simplifié
  • 32. Charger l’objet via le type dictionnaire # -*-coding: utf-*- #import Personne import ModulePersonne as MP #import module json import json #ouverture fichier f = open("personne.json","r") #chargement d = json.load(f) print(d) print(type(d)) #transf. en Personne p = MP.Personne() p.nom = d["Nom"] p.age = d["Age"] p.salaire= d["Salaire"] #affichage p.affichage() #fermeture f.close(); •le fichier est ouvert en lecture maintenant •load() de la classe json s’occupe du chargement •l’objet chargé est de type dict (dictionnaire) •nous créons une instance de Personne, et nous recopions les informations •l’objet référencé par p peut vivre sa vie par la suite Ex. ici utilisation de la méthode affichage()
  • 33. Références De la documentation à profusion Site du cours http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html Site de Python Welcometo Python -https://www.python.org/ Python 3.4.3documentation -https://docs.python.org/3/index.html Portail Python Page Python de Developpez.com Quelques cours en ligne P. Fuchs, P. Poulain, «Cours de Python» sur Developpez.com G. Swinnen, «Apprendre à programmer avec Python» sur Developpez.com «Python», Cours interactif sur Codecademy POLLS (KDnuggets) Data Mining / AnalyticsTools Used Python, 4èmeen 2015 What languages you used for data mining / data science? Python, 3èmeen 2014(derrière R et SAS)