
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…)…