Ouvrir un fichier et lire le contenu d’un fichier est l’une des choses courantes que vous feriez en faisant de l’analyse de données.
Dans ce tutoriel, nous verrons 3 exemples de lecture d’un fichier texte en Python 3.
Une façon simple de lire un fichier texte et d’analyser chaque ligne est d’utiliser l’instruction python « readlines » sur un objet fichier.
Comment lire toutes les lignes d’un fichier en une seule fois ? Utilisez readlines()
Si vous voulez lire toutes les lignes d’un fichier en même temps, la fonction readlines() de Python est faite pour vous. La fonction readlines de Python lit tout ce qui se trouve dans le fichier texte et les a dans une liste de lignes. Voici un exemple d’utilisation de readlines de Python.
Nous commençons par ouvrir le fichier en utilisant la fonction open() en mode lecture seule. Et utilisons le gestionnaire de fichier de l’ouverture du fichier pour lire toutes les lignes en utilisant readlines() comme suit.
# Open the file with read only permitf = open('my_text_file.txt', "r")# use readlines to read all lines in the file# The variable "lines" is a list containing all lines in the filelines = f.readlines()# close the file after reading the lines.f.close()
Nous pouvons également lire toutes les lignes d’un fichier en une fois d’une autre manière. En gros, nous utiliserions l’objet file handler après avoir ouvert le fichier comme argument de la fonction list() pour obtenir toutes les lignes sous forme de liste.
Une autre façon de lire les lignes en une seule fois est d’utiliser simplement
# read all lines at oncelines = list(f)
Notez que le dernier caractère de chaque ligne est un caractère de nouvelle ligne.
Puis vous pouvez parcourir la liste des « lignes » pour analyser chaque ligne. Comme vous pouvez le remarquer immédiatement, « readlines » ou « list(f) » fonctionne très bien pour un petit fichier texte. Cependant, elle n’est pas efficace en termes de mémoire si vos fichiers texte sont très volumineux. Une meilleure façon de lire un fichier texte qui est favorable à la mémoire est de lire le fichier ligne par ligne, c’est-à-dire une ligne à la fois.
Le noyau Python a (au moins) deux façons de lire un fichier texte ligne par ligne facilement.
Comment lire un fichier texte ligne par ligne en utilisant l’instruction « While » en Python?
Voici la façon de lire un fichier texte une ligne à la fois en utilisant l’instruction « While » et la fonction readline de python. Puisque nous lisons une ligne à la fois avec readline, nous pouvons facilement gérer de gros fichiers sans nous soucier des problèmes de mémoire.
# Open the file with read only permitf = open('my_text_file.txt')# use readline() to read the first line line = f.readline()# use the read line to read further.# If the file is not empty keep reading one line# at a time, till the file is emptywhile line: # in python 2+ # print line # in python 3 print is a builtin function, so print(line) # use realine() to read next line line = f.readline()f.close()
Une autre variante de la lecture d’un fichier avec l’instruction while et l’instruction readline est la suivante. Ici, le while teste les booléens et lit ligne par ligne jusqu’à ce que nous atteignions la fin du fichier et que la ligne soit vide.
# file handle fhfh = open('my_text_file.txt')while True: # read line line = fh.readline() # in python 2, print line # in python 3 print(line) # check if line is not empty if not line: breakfh.close()
Comment lire un fichier texte ligne par ligne en utilisant un itérateur en Python?
On peut également utiliser un itérateur pour lire un fichier texte ligne par ligne. Voici comment faire.
fh = open('my_text_file.txt')for line in fh: # in python 2 # print line # in python 3 print(line)fh.close()
Se souvenir de fermer le gestionnaire de fichiers (« fh ») avec l’instruction « fh.close() » peut être difficile au départ. On peut vérifier si un gestionnaire de fichiers est fermé avec
# check if the file file handler is closed or not>fh.closed# true if the file handler is closed True
On peut ouvrir des fichiers de manière beaucoup plus simple en utilisant l’instruction « with » en Python, sans avoir à fermer le gestionnaire de fichiers. L’opérateur with crée un gestionnaire de contexte et il fermera automatiquement le fichier pour vous lorsque vous en aurez terminé.
Voyez ici comment utiliser l’instruction « with » pour ouvrir un fichier.
- L’instruction « with » en Python pour ouvrir un fichier
Voulez-vous lire un fichier texte ligne par ligne et sauter les lignes de commentaires ? consultez ce post
- 3 façons de lire un fichier et de sauter les lignes de commentaire initiales en Python
Vous voulez lire/charger les données numériques d’un fichier texte, consultez ce post
- Comment lire une donnée numérique/un fichier en Python avec numpy?
Vous avez des données dans un fichier texte csv ou limité par des tabulations et vous voulez les lire en Python ? La meilleure option est d’utiliser le paquet pandas de Python. Voici comment charger des fichiers de données en python avec Pandas,
- 7 astuces pour lire un fichier CSV comme cadre de données Pandas
.