PCSI – IPT G. Monod
TP_fichiers.docx
4/5
Traitement de données texte avec Python et numpy
Méthode
import numpy as np
import matplotlib.pyplot as plt
data = []
# data = variable de stockage (liste) des lignes (
fic = open(nom_fichier,'r')
# Ouverture du fichier
while 1 :
# Boucle : lecture des lignes une par une
ligne = fic.readline()
# Lecture d’une ligne et stockage dans la variable « ligne »
if ligne == "" :
# Si ligne vide…
break
# … sortie de la boucle
else:
# Sinon…
lg = ligne.split()
# Traitement (split, replace…) => lg = liste de chaînes
data.append(lg)
# Ajout d'une ligne à data => data = liste de listes = « matrice »
fic.close()
# Fermeture du fichier
dataN = np.array(data,dtype=float)
# Transformation de data en tableau numpy de flottants
# data -> data[2 :] pour ignorer les 2 premières lignes si nécessaire
La variable dataN est un tableau de flottants.
Pour récupérer les données de la colonne k de ce tableau, l’instruction dataN[:,k] permet de sélectionner toutes les lignes
(signification des deux points) de la colonne k (cf. techniques de slicing).
Ce script est un modèle initial, à adapter à la structure particulière de chaque fichier.
Applications
10. Récupération d’un fichier de données Regressi (.txt) et tracé de graphes
10.1. Récupérer sur le réseau ou télécharger (sur pc.beharelle.fr, dans Info Sup PCSI / Fichiers) le fichier regressi.txt ou bien le
créer en utilisant l’annexe.
10.2. Visualiser la structure du fichier avec le bloc-notes ou Notepad++ et adapter le script ci-dessus si nécessaire.
Le fichier obtenu comporte 4 colonnes : la 1
ère
correspond au temps t et les trois autres sont des fonctions du temps t.
10.3. Écrire un script python permettant de récupérer les données et de représenter les trois fonctions en fonction du temps.
Rappel : import matplotlib.pyplot as plt puis plt.plot(liste_abscisses, liste_ordonnées) et enfin plt.show().
11. Récupération d’un fichier de données Excel (.csv) et tracé de graphes
11.1. Télécharger (sur pc.beharelle.fr, dans Info Sup PCSI / Fichiers) le fichier donnees.csv ou bien créer un tel fichier avec
Excel.
Le fichier obtenu comporte 4 colonnes : la 1
ère
correspond au temps t et les trois autres sont des fonctions du temps t (les
données sont les mêmes que les précédentes, seul le type de fichier a changé).
11.2. Visualiser la structure du fichier avec le bloc-notes ou Notepad++ et adapter le script ci-dessus si nécessaire.
11.3. Écrire un script python permettant de récupérer les données et de représenter les trois fonctions en fonction du temps.
Rq : il existe un module Python nommé csv dédié aux fichiers de ce type, néanmoins le script proposé permet de comprendre les
modifications à apporter afin d’adapter le script au format du fichier à lire (qui dépend du programme qui l’a créé).
12. Récupération d’un fichier de données Physics Toolbox Accelerometer (.csv) et tracé de graphes
Pour information, l’application est disponible sur :
https://www.vieyrasoftware.net/
L’appli permet de mesurer l’accélération sur 3 axes, l’axe Oz étant l’axe orthogonal au plan du mobile orienté du haut vers le
bas lorsque le mobile est horizontal.
12.1. Télécharger (sur pc.beharelle.fr, dans Info Sup PCSI / Fichiers) le fichier chute0.csv issu d’une chute libre ou bien
télécharger et installer l’appli puis configurer l’appli de la façon suivante : dans le menu de configuration, pour l’option
« csv file delimiter character » choisir « Semicolon » puis transférer le fichier par mail ou toute autre méthode (wifi,
bluetooth…).
12.2. Visualiser la structure du fichier avec le bloc-notes ou Notepad++ et adapter le script ci-dessus si nécessaire.
12.3. Écrire un script python permettant de récupérer les données et de représenter a
x
, a
y
et a
z
en fonction du temps.
13. Applications dans le cadre des projets de fin d’année
Enregistrer des pseudos et des scores en vue de classement, enregistrer les données nécessaires à un jeu (structure d’un
décor…)…