Lecture et écriture de fichiers
Contents
Lecture et écriture de fichiers#
Il existe de nombreux modules Python qui permettent de lire des fichiers de données; le choix de l’un ou l’autre va dépendre grandement du format de fichiers. En général, vous allez utiliser des fichiers au format csv (pour “Comma Separated Values”) où les données sont stockées sous forme de tableau dont les colonnes sont séparées par des virgules.
Lecture de fichiers#
Pour ce type de fichiers, on peut utiliser le module pandas
.
import pandas
# lecture du fichier par pandas
data = pandas.read_csv("../data/simple_meteo.csv")
print("Noms des colones:") # affichage des noms de chacune des colonnes
for name in data.columns:
print(" ", name)
print("Données dans le fichier:") # affichage du tableau de données
print(data)
temperature = data["Paris Temperature"].to_list() # extraction des températures
# et conversion en liste python
print("Nombre de températures:", len(temperature))
print("Deux premières températures:", temperature[0:2])
Noms des colones:
Timestamp
Paris Temperature
Paris Relative Humidity
Paris Mean Sea Level Pressure
Données dans le fichier:
Timestamp Paris Temperature Paris Relative Humidity \
0 20200913T0000 17.886375 66.0
1 20200913T0100 16.866377 72.0
2 20200913T0200 16.226376 75.0
3 20200913T0300 15.726377 77.0
4 20200913T0400 15.236376 80.0
.. ... ... ...
187 20200920T1900 26.226376 49.0
188 20200920T2000 25.566376 52.0
189 20200920T2100 25.176376 53.0
190 20200920T2200 24.706377 54.0
191 20200920T2300 23.316376 57.0
Paris Mean Sea Level Pressure
0 1023.8
1 1023.8
2 1024.4
3 1024.4
4 1023.8
.. ...
187 1014.3
188 1014.2
189 1014.6
190 1015.2
191 1015.4
[192 rows x 4 columns]
Nombre de températures: 192
Deux premières températures: [17.886375, 16.866377]
La variable data
est un objet DataFrame
et contient alors toutes les données extraites du fichier simple_meteo.csv
qui se trouve dans le sous-dossier data/appendix
1.
Cette variable se comporte presque comme un dictionnaire, mais avec quelques fonctions supplémentaires.
On peut récupérer les noms des colonnes grâce à data.columns
: cela permet ensuite de récupérer les données plus facilement.
On peut alors utilser plusieurs méthodes:
transformer les “colonnes” de données en liste:
to_list()
,ajouter des nouvelles données avec la méthode
append(autre_données, ignore_index=True)
(voir ici pour plus de détails.}
Ecriture de fichiers#
Il est possible de sauvegarder des DataFrame
dans des fichiers au format csv avec pandas
en utilisant la fonction to_csv
:
data.to_csv("../data/new_meteo.csv")
Avec cette méthode, la lecture du fichier pourra se faire avec pandas
sans problème.
- 1
Il est important de faire attention à l’endroit d’où on exécute le script Python: en effet, si on change d’endroit, le chemin du fichier donné à la fonction
read_csv
ne peut ne plus correspondre à un fichier existant. Dans Jupyter Notebook, le chemin à donner est relatif à l’endroit où se trouve le notebook. Pour choisir l’endroit d’où l’on exécute le script python dans Spyder, on utilise la barre de chemin en haut à gauche.