Python est un langage très flexible pour le traitement des données, et il est fréquent de sauvegarder des listes dans des fichiers, puis de les lire à nouveau. Dans cet article, nous expliquerons en détail comment écrire et lire une liste dans un fichier texte ou un fichier CSV en utilisant Python, avec des exemples de code précis.
Comment écrire une liste dans un fichier en Python
Écrire une liste dans un fichier en Python est très utile pour la sauvegarde et le partage de données. Dans cette section, nous allons expliquer les étapes pour écrire une liste dans un fichier texte.
Écriture dans un fichier texte
Pour écrire une liste dans un fichier texte, nous utilisons la fonction intégrée de Python open
. La fonction open
permet d’ouvrir un fichier, et en spécifiant le mode w
, on l’ouvre en mode écriture.
Ouvrir un fichier en mode écriture
with open('output.txt', 'w') as file:
for item in my_list:
file.write(f"{item}\n")
Dans le code ci-dessus, on utilise la structure with open
pour ouvrir le fichier. Le fichier nommé output.txt
est ouvert en mode w
(écriture), et chaque élément de la liste est écrit dans le fichier sur une nouvelle ligne grâce à la fonction file.write
.
Fermer le fichier
En utilisant la structure with open
, le fichier est automatiquement fermé après l’opération, ce qui élimine la nécessité de le fermer explicitement et garantit une manipulation sécurisée des fichiers.
Exemple de code pour écrire une liste dans un fichier
Nous allons maintenant expliquer comment écrire une liste dans un fichier en Python à l’aide d’un exemple de code concret.
Définition et initialisation de la liste
Tout d’abord, nous définissons la liste à écrire dans le fichier. Par exemple, nous stockons une liste de noms de fruits.
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Exemple de code pour écrire la liste dans un fichier
Ensuite, nous écrivons le contenu de la liste dans un fichier texte.
with open('fruits.txt', 'w') as file:
for item in my_list:
file.write(f"{item}\n")
Explication du code
with open('fruits.txt', 'w') as file:
Crée et ouvre un fichier nommé'fruits.txt'
en mode écriture ('w'
). La structurewith
assure la fermeture automatique du fichier après utilisation.for item in my_list:
Effectue une boucle sur chaque élément de la listemy_list
.file.write(f"{item}\n")
Écrit chaque élément de la liste dans le fichier sur une nouvelle ligne. La syntaxef"{item}\n"
ajoute un saut de ligne après chaque élément.
Vérification du résultat
Après l’exécution de ce code, un fichier nommé fruits.txt
est créé, avec chaque élément de la liste écrit sur une ligne distincte. Le contenu du fichier sera comme suit :
Apple
Banana
Cherry
Date
Elderberry
Comment lire une liste depuis un fichier en Python
Lire une liste depuis un fichier en Python est essentiel pour la réutilisation et l’analyse des données. Dans cette section, nous expliquerons comment lire une liste à partir d’un fichier texte.
Méthode pour lire depuis un fichier texte
Pour lire une liste depuis un fichier texte, nous utilisons la fonction intégrée open
de Python. En spécifiant le mode r
, on ouvre le fichier en mode lecture.
Ouvrir un fichier en mode lecture
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
Dans ce code, on utilise with open
pour ouvrir le fichier fruits.txt
en mode lecture (r
). Chaque ligne du fichier est lue dans une liste.
Conversion en liste
with open('fruits.txt', 'r') as file:
Ouvre le fichier'fruits.txt'
en mode lecture ('r'
). La structurewith
assure la fermeture automatique du fichier.my_list = [line.strip() for line in file]
Lit chaque ligne dans une listemy_list
, en supprimant le saut de ligne final avecline.strip()
.
Vérification du résultat
Après exécution du code, les données de fruits.txt
sont chargées dans la liste my_list
. Le contenu du fichier est converti dans une liste comme suit :
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Exemple de code pour lire une liste depuis un fichier
À travers un exemple de code concret, nous allons expliquer comment lire une liste depuis un fichier en Python.
Exemple de code pour lire une liste depuis un fichier
Le code suivant montre comment lire une liste à partir d’un fichier texte.
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
Explication du code
with open('fruits.txt', 'r') as file:
Ouvre le fichier'fruits.txt'
en mode lecture ('r'
). La structurewith
assure la fermeture automatique du fichier après utilisation.my_list = [line.strip() for line in file]
Lit chaque ligne dans la listemy_list
, en utilisant une compréhension de liste pour traiter chaque ligne et supprimer les sauts de ligne avecline.strip()
.
Exemple pratique
Voici le contenu réel du fichier et la liste obtenue après lecture :
Contenu de fruits.txt :
Apple
Banana
Cherry
Date
Elderberry
Liste lue :
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Gestion des erreurs
Il est important d’ajouter une gestion des erreurs pour les cas où le fichier n’existe pas ou que la lecture échoue. Dans l’exemple suivant, nous utilisons try
et except
pour gérer les erreurs.
try:
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
except FileNotFoundError:
print("Le fichier est introuvable.")
except IOError:
print("Une erreur est survenue lors de la lecture du fichier.")
Exemples avancés : Manipulation de fichiers CSV
Nous allons expliquer comment écrire et lire une liste dans un fichier CSV. Les fichiers CSV sont très pratiques pour la sauvegarde et le partage de données, et ils sont largement utilisés.
Écriture dans un fichier CSV
Utilisons le module csv
de Python pour écrire une liste dans un fichier CSV.
Définition et initialisation de la liste
Tout d’abord, nous définissons la liste à écrire dans le fichier CSV. Ici, nous stockons plusieurs fruits avec leurs prix.
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
Exemple de code pour écrire dans un fichier CSV
Ensuite, nous écrivons le contenu de la liste dans un fichier CSV.
import csv
with open('fruits.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Fruit', 'Price'])
writer.writerows(fruits)
Explication du code
import csv
Importe le modulecsv
de Python.with open('fruits.csv', 'w', newline='') as file:
Crée et ouvre un fichier CSV nommé'fruits.csv'
en mode écriture ('w'
).newline=''
empêche l’insertion de lignes vides entre les enregistrements.writer = csv.writer(file)
Crée un objetwriter
pour écrire dans le fichier CSV.writer.writerow(['Fruit', 'Price'])
Écrit la ligne d’en-tête.writer.writerows(fruits)
Écrit chaque élément de la listefruits
dans le fichier CSV.
Lecture depuis un fichier CSV
Ensuite, nous allons lire une liste depuis un fichier CSV.
import csv
with open('fruits.csv', 'r') as file:
reader = csv.reader(file)
header = next(reader) # Ignore la ligne d’en-tête
fruits = [row for row in reader]
Explication du code
import csv
Importe le modulecsv
de Python.with open('fruits.csv', 'r') as file:
Ouvre le fichier'fruits.csv'
en mode lecture ('r'
).reader = csv.reader(file)
Crée un objetreader
pour lire dans le fichier CSV.header = next(reader)
Ignore la ligne d’en-tête.fruits = [row for row in reader]
Lit chaque ligne du fichier dans la listefruits
.
Exemple de manipulation de fichiers CSV
Nous allons montrer un exemple concret d’écriture et de lecture d’une liste dans un fichier CSV en Python.
Exemple de code pour écrire dans un fichier CSV
Le code suivant montre comment écrire une liste dans un fichier CSV.
import csv
# Liste de données à écrire
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
# Écrire dans le fichier CSV
with open('fruits.csv', 'w', newline='') as file:
writer = csv.writer(file)
# Écriture de la ligne d’en-tête
writer.writerow(['Fruit', 'Price'])
# Écriture des lignes de données
writer.writerows(fruits)
Explication du code
import csv
Importe le modulecsv
de Python.fruits
Définit une liste avec plusieurs fruits et leurs prix.with open('fruits.csv', 'w', newline='') as file:
Ouvre un fichier CSV nommé'fruits.csv'
en mode écriture ('w'
), avecnewline=''
pour éviter les lignes vides entre les enregistrements.writer = csv.writer(file)
Crée un objetwriter
pour écrire dans le fichier CSV.writer.writerow(['Fruit', 'Price'])
Écrit la ligne d’en-tête'Fruit'
et'Price'
.writer.writerows(fruits)
Écrit chaque élément de la listefruits
dans le fichier CSV.
Exemple de code pour lire depuis un fichier CSV
Ensuite, nous allons montrer comment lire une liste depuis un fichier CSV.
import csv
# Lecture des données depuis le fichier CSV
with open('fruits.csv', 'r') as file:
reader = csv.reader(file)
# Ignore la ligne d’en-tête
header = next(reader)
# Charge chaque ligne du fichier dans une liste
fruits = [row for row in reader]
Explication du code
import csv
Importe le modulecsv
de Python.with open('fruits.csv', 'r') as file:
Ouvre le fichier'fruits.csv'
en mode lecture ('r'
).reader = csv.reader(file)
Crée un objetreader
pour lire dans le fichier CSV.header = next(reader)
Ignore la ligne d’en-tête.fruits = [row for row in reader]
Charge chaque ligne du fichier dans la listefruits
.
Vérification du résultat
Après l’exécution de ce code, la liste obtenue sera :
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
Exercices pratiques
Pour renforcer votre compréhension des opérations d’écriture et de lecture de listes dans un fichier avec Python, nous vous proposons quelques exercices pratiques. Ces exercices vous aideront à développer des compétences concrètes.
Exercice 1 : Écriture et lecture dans un fichier texte
Écrivez la liste suivante dans un fichier texte nommé vegetables.txt
, puis relisez-la et affichez-la sous forme de liste.
vegetables = ['Carrot', 'Potato', 'Cabbage', 'Broccoli', 'Spinach']
Résultat attendu
- Le fichier
vegetables.txt
contient chaque nom de légume sur une ligne distincte. - Après lecture, une liste contenant les mêmes éléments que la liste d’origine
vegetables
est obtenue.
Exercice 2 : Écriture et lecture dans un fichier CSV
Écrivez la liste suivante dans un fichier CSV nommé employees.csv
, puis relisez-la et affichez-la sous forme de liste.
employees = [
['John Doe', 'Manager', 50000],
['Jane Smith', 'Developer', 60000],
['Emily Davis', 'Designer', 55000]
]
Résultat attendu
- Le fichier
employees.csv
contient les données de chaque employé sur une ligne distincte. - Après lecture, une liste contenant les mêmes éléments que la liste d’origine
employees
est obtenue.
Exercice 3 : Transformation des données et sauvegarde
Le fichier students.txt
contient les noms et notes des étudiants. Lisez ce fichier, augmentez chaque note de 10 points, puis sauvegardez les données dans un nouveau fichier nommé updated_students.txt
.
Contenu de students.txt :
Alice, 80
Bob, 70
Charlie, 90
Diana, 85
Edward, 60
Résultat attendu
- Le fichier
updated_students.txt
contient les données avec les notes augmentées de 10 points.
Contenu de updated_students.txt :
Alice, 90
Bob, 80
Charlie, 100
Diana, 95
Edward, 70
Conclusion
Nous avons expliqué les méthodes concrètes pour écrire et lire des listes dans des fichiers en Python. Sauvegarder des listes dans des fichiers texte ou CSV permet de faciliter la persistance et le partage des données. En lisant les données à partir de fichiers, vous pouvez également réutiliser des données externes.
Dans cet article, nous avons présenté des exemples concrets d’écriture et de lecture dans des fichiers texte et CSV, en expliquant les étapes avec des codes pratiques. De plus, nous avons proposé des exercices pratiques pour renforcer votre compréhension.
En maîtrisant ces techniques, vous serez en mesure de réaliser un traitement des données plus efficace et productif avec Python. N’hésitez pas à les utiliser dans votre programmation quotidienne.