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