HOWTO · Python
Lire le fichier dans le dictionnaire en Python
Ce tutoriel explique comment lire un fichier dans un dictionnaire en Python
Sur cette page
La gestion des fichiers est une partie vitale du développement et de la maintenance de toute application Web. Comme d’autres langages de programmation populaires, Python est parfaitement capable de prendre en charge la gestion de fichiers. Il permet aux utilisateurs d’opérer sur différents types de fichiers tout en effectuant certaines opérations de base telles que la lecture et l’écriture avec les autres opérations courantes.
Ce tutoriel montre les différentes manières de lire un fichier dans un dictionnaire en Python.
Pour référence, nous utiliserons un fichier texte dans le code pour expliquer les différentes méthodes utilisées dans l’article.
Contenu du fichier File1.txt :
4 x
5 y
6 z
Utilisez la fonction split() pour lire un fichier dans un dictionnaire en Python
La fonction split() est généralement utilisée pour découper une chaîne donnée dans une liste.
Le code suivant utilise la fonction split() pour lire un fichier dans un dictionnaire en Python.
a = {}
with open("File1.txt") as f:
for line in f:
(k, v) = line.split()
a[int(k)] = v
print(a)
Le code ci-dessus fournit la sortie suivante :
{4: "x", 5: "y", 6: "z"}
Explication:
- Un dictionnaire vide
aest créé en premier. - La fonction
open()est utilisée pour ouvrir et lire à partir du fichier donnéFile1.txt - Le contenu du fichier est lu ligne par ligne.
- Le contenu de la ligne est ensuite découpé à l’aide de la fonction
split()au caractère espace. Le caractère avant l’espace est pris comme clé tandis que le caractère après l’espace est pris comme valeur du dictionnaire. - La boucle
forest utilisée à des fins d’itération et pour atteindre la fin du fichier.
Utilisez la fonction strip() avec la fonction split() pour lire un fichier dans un dictionnaire en Python
La fonction strip() en Python supprime tous les caractères ou espaces vides particulièrement spécifiés au début et à la fin d’une chaîne. La fonction renvoie une nouvelle chaîne au lieu de modifier la chaîne d’origine.
Le code suivant utilise la fonction strip() et la fonction split() pour lire un fichier dans un dictionnaire en Python.
with open("File1.txt") as f:
a = dict(i.rstrip().split(None, 1) for i in f)
print(a)
Le code ci-dessus fournit la sortie suivante :
{4: "x", 5: "y", 6: "z"}
Explication:
- Un dictionnaire vide
aest créé en premier. - La fonction
open()est utilisée pour ouvrir et lire à partir du fichier donnéFile1.txt - Le contenu du fichier est lu ligne par ligne.
- Le contenu de la ligne est ensuite découpé à l’aide de la fonction
split()au caractère espace. La fonctionstrip()est également utilisée dans le même pour supprimer les caractères mentionnés. - La boucle
forest utilisée à des fins d’itération et pour atteindre la fin du fichier.
Utiliser la compréhension du dictionnaire pour lire un fichier dans un dictionnaire en Python
La compréhension de dictionnaire est une extension syntaxique de la compréhension de liste très populaire et utilisée.
Alors que la compréhension du dictionnaire est déployée syntaxiquement de la même manière que la compréhension de la liste dans le code Python, elle présente une grande différence car la première produit la sortie sous forme de dictionnaire, contrairement à la seconde, qui fournit une liste en tant que sortie.
Le code suivant utilise la compréhension du dictionnaire pour lire un fichier dans un dictionnaire en Python.
with open("File1.txt") as f:
a = {int(k): v for line in f for (k, v) in [line.strip().split(None, 1)]}
print(a)
Le code ci-dessus fournit la sortie suivante :
{4: "x", 5: "y", 6: "z"}
Utilisez la bibliothèque pandas pour lire un fichier dans un dictionnaire en Python
Pandas est une bibliothèque fournie par Python qui est utilisée pour l’analyse et la manipulation de données. Pandas est une bibliothèque open source, facile à utiliser et flexible.
Le code suivant utilise la bibliothèque pandas pour lire un fichier dans un dictionnaire en Python.
import pandas as pd
a = pd.read_csv("File1.txt", delimiter=" ", header=None).to_dict()[0]
print(a)
Le code ci-dessus fournit la sortie suivante :
{4: "x", 5: "y", 6: "z"}