Informatique Chapitre 6: Lecture et écriture dans un fichier

Transcription

Informatique Chapitre 6: Lecture et écriture dans un fichier
Informatique
Chapitre 6: Lecture et écriture dans un fichier
Jérôme D IDIER
05/11/2014
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Objectifs du cours
Compétences visées
I
Savoir ce qu’est un chemin d’accès
I
I
Chemin absolu
Chemin relatif
I
Lire des données (numériques ou des chaînes de caractères) depuis un
fichier
I
Ecrire des données vers un fichier
J. Didier
Informatique Chapitre 6
2
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Introduction
Pourquoi utiliser des fichiers ?
Un ordinateur sert à traiter de l’information qui peut entrer et sortir via
différentes interfaces :
I le clavier, la souris, l’écran
I
les fichiers
I
les interfaces de communication
Le clavier et la souris ne permettent pas d’entrer une grosse masse
d’information. De même l’écran montre une petite partie de l’information.
En revanche les fichiers permettent de décupler les possibilités de traitement
d’information des programmes.
Il est donc intéréssant de savoir lire et écrire des fichiers.
J. Didier
Informatique Chapitre 6
3
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Les différents fichiers
Deux familles de fichiers
Les fichiers sont tous écrits en binaire. Néanmoins on peut distinguer deux
familles :
I
Les fichiers binaires qui nécessitent de connaître le format binaire
d’écriture des données pour être lus,
I
Les fichiers textes qui contiennent des caractères uniquement, et qui
peuvent s’ouvrir avec un éditeur de texte
Exemples de fichiers binaires
I
Images et documents (bmp, png, jpg, pdf, doc, ...)
I
Son et Vidéo (wav, mp3, mp4, ...)
I
Exécutables (.exe)
I
Archives compressées (zip, 7z, gz, ...)
J. Didier
Informatique Chapitre 6
4
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Les différents fichiers
Deux familles de fichiers
Les fichiers sont tous écrits en binaire. Néanmoins on peut distinguer deux
familles :
I
Les fichiers binaires qui nécessitent de connaître le format binaire
d’écriture des données pour être lus,
I
Les fichiers textes qui contiennent des caractères uniquement, et qui
peuvent s’ouvrir avec un éditeur de texte
Exemples de fichiers binaires
I
Images et documents (bmp, png, jpg, pdf, doc, ...)
I
Son et Vidéo (wav, mp3, mp4, ...)
I
Exécutables (.exe)
I
Archives compressées (zip, 7z, gz, ...)
J. Didier
Informatique Chapitre 6
4
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Les différents fichiers
Exemples de fichiers textes
I
Pages Web (html, css, ...)
I
Fichier journal (log), Script shell (bat)
I
Images vectorielles (svg)
I
Programmes Python (py)
I
Les fichiers de données texte (txt, data, ...)
I
Les fichiers texte formatés (xml)
Exemples de fichiers textes compressés
I
Les fichiers bureautiques (odt, ods, docx, xlsx)
J. Didier
Informatique Chapitre 6
5
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Les différents fichiers
Exemples de fichiers textes
I
Pages Web (html, css, ...)
I
Fichier journal (log), Script shell (bat)
I
Images vectorielles (svg)
I
Programmes Python (py)
I
Les fichiers de données texte (txt, data, ...)
I
Les fichiers texte formatés (xml)
Exemples de fichiers textes compressés
I
Les fichiers bureautiques (odt, ods, docx, xlsx)
J. Didier
Informatique Chapitre 6
5
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Les différents fichiers
Avantages et inconvénients
Avantages
Inconvénients
Les fichiers binaires
Moins volumineux, Indépendants des standarts
d’encodage des caractères dans les OS
Moins faciles à lire,
Nécessitent des bibliothèques pour les
ouvrir
J. Didier
Les fichiers texte
Interprétables
par
l’homme,
Permettent
des
échanges
plus
simples
entre
logiciels, Ne nécessitent
généralement pas de
bibliothèques
Plus volumineux, Dépendants du format d’encodage des caractères.
Informatique Chapitre 6
6
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Utilisation des fichiers
Avantages et inconvénients
Le fait de sauver des résultats de calcul peut être utile pour du
post-traitement lors de vos simulations numériques. Ainsi on évite de
relancer le calcul (qui peut parfois être long) pour traiter les résultats :
I
tracer des courbes
I
calculer des erreurs relatives
I
...
J. Didier
Informatique Chapitre 6
7
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Principe :
Pour lire dans un fichier, le principe est le suivant :
I
on ouvre le fichier,
I
on lit les lignes successivement,
I
on ferme le fichier.
Ne pas oublier de fermer le fichier
Pensez à prendre la bonne habitude de toujours fermer le fichier !
J. Didier
Informatique Chapitre 6
8
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Principe :
Pour lire dans un fichier, le principe est le suivant :
I
on ouvre le fichier,
I
on lit les lignes successivement,
I
on ferme le fichier.
Ne pas oublier de fermer le fichier
Pensez à prendre la bonne habitude de toujours fermer le fichier !
J. Didier
Informatique Chapitre 6
8
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Principe :
Pour lire dans un fichier, le principe est le suivant :
I
on ouvre le fichier,
I
on lit les lignes successivement,
I
on ferme le fichier.
Ne pas oublier de fermer le fichier
Pensez à prendre la bonne habitude de toujours fermer le fichier !
J. Didier
Informatique Chapitre 6
8
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Principe :
Pour lire dans un fichier, le principe est le suivant :
I
on ouvre le fichier,
I
on lit les lignes successivement,
I
on ferme le fichier.
Ne pas oublier de fermer le fichier
Pensez à prendre la bonne habitude de toujours fermer le fichier !
J. Didier
Informatique Chapitre 6
8
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Principe :
Pour lire dans un fichier, le principe est le suivant :
I
on ouvre le fichier,
I
on lit les lignes successivement,
I
on ferme le fichier.
Ne pas oublier de fermer le fichier
Pensez à prendre la bonne habitude de toujours fermer le fichier !
J. Didier
Informatique Chapitre 6
8
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Le répertoire courant
Il s’agit du répertoire dans lequel vous travaillez « actuellement ».
Afficher le répertoire courant
Pour afficher le répertoire courant, on utilise le module os et la commande
(get current work directory)
getcwd()
import os
os. getcwd ()
Changer le répertoire courant
Pour changer le répertoire courant, on utilise encore le module os et la
commande chdir() (change directory)
J. Didier
Informatique Chapitre 6
9
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Le répertoire courant
Il s’agit du répertoire dans lequel vous travaillez « actuellement ».
Afficher le répertoire courant
Pour afficher le répertoire courant, on utilise le module os et la commande
(get current work directory)
getcwd()
import os
os. getcwd ()
Changer le répertoire courant
Pour changer le répertoire courant, on utilise encore le module os et la
commande chdir() (change directory)
J. Didier
Informatique Chapitre 6
9
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Le répertoire courant
Il s’agit du répertoire dans lequel vous travaillez « actuellement ».
Afficher le répertoire courant
Pour afficher le répertoire courant, on utilise le module os et la commande
(get current work directory)
getcwd()
import os
os. getcwd ()
Changer le répertoire courant
Pour changer le répertoire courant, on utilise encore le module os et la
commande chdir() (change directory)
J. Didier
Informatique Chapitre 6
9
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Utilisation de la commande chdir()
Variante 1
from os import chdir
chdir ( repertoire )
Variante 2
import os
os. chdir ( repertoire )
J. Didier
Informatique Chapitre 6
10
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Utilisation de la commande chdir()
Variante 1
from os import chdir
chdir ( repertoire )
Variante 2
import os
os. chdir ( repertoire )
J. Didier
Informatique Chapitre 6
10
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Utilisation de la commande chdir()
Variante 1
from os import chdir
chdir ( repertoire )
Variante 2
import os
os. chdir ( repertoire )
J. Didier
Informatique Chapitre 6
10
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Pour décrire l’arboresence d’un système, il existe deux possibilités
I
les chemins absolus
I
les chemins relatifs
Les chemins absolus
Quand on décrit une cible sous la forme d’un chemin absolu, on décrit la
suite des répertoires menant au fichier.
par exemple : C:\Mes_programmes\TD\TD_4\exercice_1\fichier.txt
Les chemins relatifs
Quand on décrit la position d’un fichier grâce à un chemin relatif, cela veut
dire que l’on tient compte du dossier dans lequel on se trouve actuellement.
par exemple si l’on se trouve dans le répertoire TD, le chemin relatif sera :
TD_4\exercice_1\fichier.txt Pour désigner le répertoire parent, on
utilise la commande ..
J. Didier
Informatique Chapitre 6
11
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Pour décrire l’arboresence d’un système, il existe deux possibilités
I
les chemins absolus
I
les chemins relatifs
Les chemins absolus
Quand on décrit une cible sous la forme d’un chemin absolu, on décrit la
suite des répertoires menant au fichier.
par exemple : C:\Mes_programmes\TD\TD_4\exercice_1\fichier.txt
Les chemins relatifs
Quand on décrit la position d’un fichier grâce à un chemin relatif, cela veut
dire que l’on tient compte du dossier dans lequel on se trouve actuellement.
par exemple si l’on se trouve dans le répertoire TD, le chemin relatif sera :
TD_4\exercice_1\fichier.txt Pour désigner le répertoire parent, on
utilise la commande ..
J. Didier
Informatique Chapitre 6
11
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Accès aux fichiers
Pour décrire l’arboresence d’un système, il existe deux possibilités
I
les chemins absolus
I
les chemins relatifs
Les chemins absolus
Quand on décrit une cible sous la forme d’un chemin absolu, on décrit la
suite des répertoires menant au fichier.
par exemple : C:\Mes_programmes\TD\TD_4\exercice_1\fichier.txt
Les chemins relatifs
Quand on décrit la position d’un fichier grâce à un chemin relatif, cela veut
dire que l’on tient compte du dossier dans lequel on se trouve actuellement.
par exemple si l’on se trouve dans le répertoire TD, le chemin relatif sera :
TD_4\exercice_1\fichier.txt Pour désigner le répertoire parent, on
utilise la commande ..
J. Didier
Informatique Chapitre 6
11
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’un fichier
La commande open
f=open(" mon_fichier .txt","wt")
Il y a trois modes d’accès aux fichiers
: ouverture en écriture (write), le fichier est écrasé, si il n’existe pas
alors il est crée.
"a" : ouverture en écriture en mode ajout (append), les données sont
ajoutées à la suite du fichier.
I "w"
I
I "r"
: ouverture en lecture (read)
On précisera le type de données
I "t"
pour du texte
I "b"
pour la lecture en mode binaire
J. Didier
Informatique Chapitre 6
12
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’un fichier
La commande open
f=open(" mon_fichier .txt","wt")
Il y a trois modes d’accès aux fichiers
: ouverture en écriture (write), le fichier est écrasé, si il n’existe pas
alors il est crée.
"a" : ouverture en écriture en mode ajout (append), les données sont
ajoutées à la suite du fichier.
I "w"
I
I "r"
: ouverture en lecture (read)
On précisera le type de données
I "t"
pour du texte
I "b"
pour la lecture en mode binaire
J. Didier
Informatique Chapitre 6
12
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’un fichier
La commande open
f=open(" mon_fichier .txt","wt")
Il y a trois modes d’accès aux fichiers
: ouverture en écriture (write), le fichier est écrasé, si il n’existe pas
alors il est crée.
"a" : ouverture en écriture en mode ajout (append), les données sont
ajoutées à la suite du fichier.
I "w"
I
I "r"
: ouverture en lecture (read)
On précisera le type de données
I "t"
pour du texte
I "b"
pour la lecture en mode binaire
J. Didier
Informatique Chapitre 6
12
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Fermeture d’un fichier
La méthode .close()
f=open(" mon_fichier .txt","wt")
f. close ()
Ne pas oublier de fermer les fichiers que vous ouvrez
Prendre l’habitude d’écrire .close() des que vous écrivez open.
J. Didier
Informatique Chapitre 6
13
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Fermeture d’un fichier
La méthode .close()
f=open(" mon_fichier .txt","wt")
f. close ()
Ne pas oublier de fermer les fichiers que vous ouvrez
Prendre l’habitude d’écrire .close() des que vous écrivez open.
J. Didier
Informatique Chapitre 6
13
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture d’un fichier
La méthode .write()
f=open(" mon_fichier .txt","wt")
f. write ("Du texte ")
f. write ("1")
f. write ("5.6")
f. write (str (46.6))
f. close ()
Attention
Il s’agit de fichier texte par conséquent la méthode .write() prend en
argument une chaine de caractères.
Observons le fichier obtenu
I les caractères sont les uns à la suite des autres.
I
il est donc impossible de distinguer les entiers et les flottants.
J. Didier
Informatique Chapitre 6
14
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture d’un fichier
La méthode .write()
f=open(" mon_fichier .txt","wt")
f. write ("Du texte ")
f. write ("1")
f. write ("5.6")
f. write (str (46.6))
f. close ()
Attention
Il s’agit de fichier texte par conséquent la méthode .write() prend en
argument une chaine de caractères.
Observons le fichier obtenu
I les caractères sont les uns à la suite des autres.
I
il est donc impossible de distinguer les entiers et les flottants.
J. Didier
Informatique Chapitre 6
14
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture d’un fichier
La méthode .write()
f=open(" mon_fichier .txt","wt")
f. write ("Du texte ")
f. write ("1")
f. write ("5.6")
f. write (str (46.6))
f. close ()
Attention
Il s’agit de fichier texte par conséquent la méthode .write() prend en
argument une chaine de caractères.
Observons le fichier obtenu
I les caractères sont les uns à la suite des autres.
I
il est donc impossible de distinguer les entiers et les flottants.
J. Didier
Informatique Chapitre 6
14
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture d’un fichier
Solution aux problèmes observées précédemment
I
Utiliser le retour à la ligne "n"
I
Utiliser la tabulation "t"
I
Formater le texte avec la méthode .format()
La méthode .write()
f=open(" mon_fichier .txt","wt")
f. write (" ligne1 Du texte \n")
f. write (" ligne2 1\n")
f. write (" ligne3 \t 5.6\n")
f. write (" ligne4 \t"+str (46.6)+ "\n")
f. write (" Ligne {:d} \t {:f} \t {:f}\n". format (5 ,12.566 ,14.5))
f. write (" Ligne {:d} \t {:f} \t {:f}\n". format (6 ,12.666 ,16.5))
f. close ()
J. Didier
Informatique Chapitre 6
15
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture d’un fichier
Solution aux problèmes observées précédemment
I
Utiliser le retour à la ligne "n"
I
Utiliser la tabulation "t"
I
Formater le texte avec la méthode .format()
La méthode .write()
f=open(" mon_fichier .txt","wt")
f. write (" ligne1 Du texte \n")
f. write (" ligne2 1\n")
f. write (" ligne3 \t 5.6\n")
f. write (" ligne4 \t"+str (46.6)+ "\n")
f. write (" Ligne {:d} \t {:f} \t {:f}\n". format (5 ,12.566 ,14.5))
f. write (" Ligne {:d} \t {:f} \t {:f}\n". format (6 ,12.666 ,16.5))
f. close ()
J. Didier
Informatique Chapitre 6
15
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier
Ouverture du fichier en mode lecture
f=open(" Mesure_axe_Emericc .txt","rt")
f. readline ()
f. close ()
Les méthodes de lecture
I .readline() lit le fichier ligne par ligne
I .read()
lit l’ensemble du fichier
I .readlines()
renvoie une liste contenant chaque ligne
J. Didier
Informatique Chapitre 6
16
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier
Ouverture du fichier en mode lecture
f=open(" Mesure_axe_Emericc .txt","rt")
f. readline ()
f. close ()
Les méthodes de lecture
I .readline() lit le fichier ligne par ligne
I .read()
lit l’ensemble du fichier
I .readlines()
renvoie une liste contenant chaque ligne
J. Didier
Informatique Chapitre 6
16
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier
Analyse d’un exemple
On souhaite récupérer les résultats issus de l’essai (c’est à dire à partir de la
ligne 12).
La lecture des lignes en question nous renvoie une chaine de caractères.
Exemple :
In [43]: ligne
Out [43]: ’1\t0 ,06\ t127 ,00\n’
Extraction des données
Proposer une série d’instructions permettant d’extraire les données présentes
dans la chaine de caractères. On utilisera les méthodes vues dans le cours sur
les chaines de caractères afin de supprimer le retour chariot (n) et les
tabulations (t).
On remplacera également la virgule par le point.
On fera attention aux types des données (int, float, str, ...).
J. Didier
Informatique Chapitre 6
17
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier
Analyse d’un exemple
On souhaite récupérer les résultats issus de l’essai (c’est à dire à partir de la
ligne 12).
La lecture des lignes en question nous renvoie une chaine de caractères.
Exemple :
In [43]: ligne
Out [43]: ’1\t0 ,06\ t127 ,00\n’
Extraction des données
Proposer une série d’instructions permettant d’extraire les données présentes
dans la chaine de caractères. On utilisera les méthodes vues dans le cours sur
les chaines de caractères afin de supprimer le retour chariot (n) et les
tabulations (t).
On remplacera également la virgule par le point.
On fera attention aux types des données (int, float, str, ...).
J. Didier
Informatique Chapitre 6
17
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier de données formatées
Le tableau de données est « formaté »,
c’est à dire que toutes les lignes
présentent une structure identique.
Utilisation du module numpy.loadtxt()
import numpy
# ouverture fichier formaté
f=open(" Mesure_axe_Emericc_formate .txt","r
Chargement d’un tableau de données
a= numpy . loadtxt (" Mesure_axe_Emericc_formate .txt",
dtype ={ ’names ’: (’numero ’, ’position ’, ’consigne ’),
’formats ’: (’i2 ’, ’f4 ’, ’f4 ’)}, delimiter =’\t’)
J. Didier
Informatique Chapitre 6
18
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture d’un fichier de données formatées
Le tableau de données est « formaté »,
c’est à dire que toutes les lignes
présentent une structure identique.
Utilisation du module numpy.loadtxt()
import numpy
# ouverture fichier formaté
f=open(" Mesure_axe_Emericc_formate .txt","r
Chargement d’un tableau de données
a= numpy . loadtxt (" Mesure_axe_Emericc_formate .txt",
dtype ={ ’names ’: (’numero ’, ’position ’, ’consigne ’),
’formats ’: (’i2 ’, ’f4 ’, ’f4 ’)}, delimiter =’\t’)
J. Didier
Informatique Chapitre 6
18
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Enregistrement/Chargement d’objet (Hors-programme)
Comment enregistrer directement une variable dans un fichier ?
Le module pickle
Ce module permet de sauver des objets python pour les récupérer plus tard
sous python. Pour l’utiliser, il suffit d’ajouter la commande.
import pickle
Attention
Ce qui a été sauvé avec pickle doit être chargé avec pickle. On ne peut
utiliser d’autres logiciels (éditeurs de texte, ...).
J. Didier
Informatique Chapitre 6
19
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Enregistrement/Chargement d’objet (Hors-programme)
Comment enregistrer directement une variable dans un fichier ?
Le module pickle
Ce module permet de sauver des objets python pour les récupérer plus tard
sous python. Pour l’utiliser, il suffit d’ajouter la commande.
import pickle
Attention
Ce qui a été sauvé avec pickle doit être chargé avec pickle. On ne peut
utiliser d’autres logiciels (éditeurs de texte, ...).
J. Didier
Informatique Chapitre 6
19
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Enregistrement/Chargement d’objet (Hors-programme)
Comment enregistrer directement une variable dans un fichier ?
Le module pickle
Ce module permet de sauver des objets python pour les récupérer plus tard
sous python. Pour l’utiliser, il suffit d’ajouter la commande.
import pickle
Attention
Ce qui a été sauvé avec pickle doit être chargé avec pickle. On ne peut
utiliser d’autres logiciels (éditeurs de texte, ...).
J. Didier
Informatique Chapitre 6
19
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Enregistrement d’objet(Hors-programme)
Sauvegarde d’une variable quelconque v
import pickle # importation du
fichier =open("save.pick","wb")
module pickle
# ouverture du fichier
pickle .dump(v, fichier ) # stockage de la variable
fichier . close () # fermeture du fichier
Remarques
I
Les fichiers binaires sont donc il faut le préciser lors de l’ouverture du
fichier "b".
Mode écriture "w" pour write.
I
La méthode .dump(variable,fichier) permet de stocker la variable.
I
Pour stocker plusieurs variables, il suffit d’appeler plusieurs fois la
méthode .dump
I
J. Didier
Informatique Chapitre 6
20
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Chargement d’objet (Hors-programme)
Lecture
import pickle # importation du module pickle
fichier =open("save.pick","rb") # ouverture du fichier
v= pickle .load( fichier ) # lecture de la variable
fichier . close () # fermeture du fichier
Remarques
I
Les fichiers binaires sont donc il faut le préciser lors de l’ouverture du
fichier "b".
I
Mode lecteur "r" pour read.
I
La méthode .load(fichier) permet de charger la variable.
J. Didier
Informatique Chapitre 6
21
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Cas des fichiers excel
Lecture d’un fichier excel : xlrd
Pour installer ce module dans Pyzo : conda install xlrd
Pour utiliser ce module import xlrd
Ecriture d’un fichier excel : xlsxwriter
Pour installer ce module dans Pyzo : conda install xlsxwriter
http ://xlsxwriter.readthedocs.org
Pour utiliser ce module import xlsxwriter
J. Didier
Informatique Chapitre 6
22
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Cas des fichiers excel
Lecture d’un fichier excel : xlrd
Pour installer ce module dans Pyzo : conda install xlrd
Pour utiliser ce module import xlrd
Ecriture d’un fichier excel : xlsxwriter
Pour installer ce module dans Pyzo : conda install xlsxwriter
http ://xlsxwriter.readthedocs.org
Pour utiliser ce module import xlsxwriter
J. Didier
Informatique Chapitre 6
22
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Lecture de fichier excel
Lecture d’un fichier excel
# ouverture du fichier Excel
wb = xlrd. open_workbook (’test.xlsx ’)
# f e u i l l e s dans le classeur
print(wb. sheet_names ())
# lecture des données dans la première f e u i l l e
sh = wb. sheet_by_name (u’Feuil1 ’)
for rownum in range(sh. nrows ):
print(sh. row_values ( rownum ))
J. Didier
Informatique Chapitre 6
23
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ecriture de fichier excel
Ecriture d’un fichier excel
import xlsxwriter
# Crée un nouveau fichier xlsx et ajoute une page .
workbook = xlsxwriter . Workbook (’demo.xlsx ’)
worksheet = workbook . add_worksheet ()
# Ajoute un texte dans la case A1.
worksheet . write (’A1 ’, ’x1 ’)
# Ajoute un texte dans la case B1.
worksheet . write (’B1 ’, 12.3)
# Ajoute un texte dans la case A2.
worksheet . write (1,0, ’x2 ’)
# Ajoute un texte dans la case B2.
worksheet . write (1,1, 15.73)
# Fermeture du fichier
workbook . close ()
J. Didier
Informatique Chapitre 6
24
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’une image
Image bitmap
Il s’agit d’un format d’image matricielle ou « carte de points ». Chaque point
est appelé pixel est défini par un triplet de valeurs pour le rouge, le vert et le
bleu (RVB ou RGB). Pour 256 couleurs, chaque élément du triplet RVB peut
prendre une valeur entre 0 et 255.
Traitement d’images
Le traitement de ce type d’image revient alors à manipuler trois matrices.
Une pour chaque couleur. (voir cours de deuxième année)
Utilisation de la bibliothèque PIL
Pour installer ce module dans Pyzo : conda install pillow
Pour utiliser ce module :from PIL import Image
On utilisera également la bibliothèque numpy afin de manipuler les matrices.
import numpy as np
J. Didier
Informatique Chapitre 6
25
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’une image
Image bitmap
Il s’agit d’un format d’image matricielle ou « carte de points ». Chaque point
est appelé pixel est défini par un triplet de valeurs pour le rouge, le vert et le
bleu (RVB ou RGB). Pour 256 couleurs, chaque élément du triplet RVB peut
prendre une valeur entre 0 et 255.
Traitement d’images
Le traitement de ce type d’image revient alors à manipuler trois matrices.
Une pour chaque couleur. (voir cours de deuxième année)
Utilisation de la bibliothèque PIL
Pour installer ce module dans Pyzo : conda install pillow
Pour utiliser ce module :from PIL import Image
On utilisera également la bibliothèque numpy afin de manipuler les matrices.
import numpy as np
J. Didier
Informatique Chapitre 6
25
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’une image
Image bitmap
Il s’agit d’un format d’image matricielle ou « carte de points ». Chaque point
est appelé pixel est défini par un triplet de valeurs pour le rouge, le vert et le
bleu (RVB ou RGB). Pour 256 couleurs, chaque élément du triplet RVB peut
prendre une valeur entre 0 et 255.
Traitement d’images
Le traitement de ce type d’image revient alors à manipuler trois matrices.
Une pour chaque couleur. (voir cours de deuxième année)
Utilisation de la bibliothèque PIL
Pour installer ce module dans Pyzo : conda install pillow
Pour utiliser ce module :from PIL import Image
On utilisera également la bibliothèque numpy afin de manipuler les matrices.
import numpy as np
J. Didier
Informatique Chapitre 6
25
O BJECTIFS I NTRO ACCÈS F ICHIERS I MAGES
Ouverture d’une image
Exemple
# Ouverture de l ’image
im= Image.open(" image .bmp")
# Affichage de l ’image
im.show ()
#Affichage du format de l ’image , de sa t a i l l e , . . .
print(im.format , im.size , im.mode)
#Conversion de l ’image en matrices représentant les RGB
pixels = np. array (im)
#Dimensions de la matrice de pixel
(n,m,d)= pixels . shape
J. Didier
Informatique Chapitre 6
26