Aller au contenu principal

Conversion d'une table à partir d'un fichier texte en dictionnaire en Python

Dans ce tutoriel, nous allons apprendre comment convertir une table stockée dans un fichier texte en un dictionnaire en utilisant Python.

Étape 1 : Lire le fichier texte

Tout d'abord, nous devons lire le contenu du fichier texte. Nous pouvons utiliser la fonction open() pour ouvrir le fichier et la méthode readlines() pour lire toutes les lignes du fichier.

with open('table.txt', 'r') as file:
lines = file.readlines()

Assurez-vous de remplacer 'table.txt' par le chemin d'accès à votre fichier texte réel.

Étape 2 : Extraire les en-têtes

La première ligne du fichier texte contient généralement les en-têtes ou les noms de colonnes de la table. Nous pouvons diviser cette ligne en utilisant le séparateur approprié (par exemple, une virgule, une tabulation, etc.) pour obtenir les en-têtes individuels.

headers = lines[0].strip().split('\t')

Dans cet exemple, nous supposons que les en-têtes sont séparés par des tabulations (\t). Modifiez le code en conséquence si votre table utilise un séparateur différent.

Étape 3 : Traiter les lignes de données

Les lignes restantes du fichier texte contiennent les lignes de données de la table. Nous pouvons itérer sur ces lignes et les diviser en utilisant le même séparateur que les en-têtes. Ensuite, nous pouvons créer un dictionnaire pour chaque ligne, où les clés sont les en-têtes et les valeurs sont les valeurs correspondantes dans cette ligne.

data = []
for line in lines[1:]:
values = line.strip().split('\t')
row = dict(zip(headers, values))
data.append(row)

La fonction zip() est utilisée pour combiner chaque en-tête avec sa valeur correspondante dans la ligne.

Étape 4 : Accéder au dictionnaire

Une fois la conversion terminée, nous pouvons accéder aux données dans le dictionnaire en utilisant les noms des en-têtes comme clés. Par exemple, pour récupérer la valeur d'une cellule particulière, nous pouvons utiliser la syntaxe suivante :

valeur = data[indice_ligne]['nom_en_tête']

Remplacez indice_ligne par l'indice de la ligne souhaitée (en commençant par 0) et 'nom_en_tête' par le nom de l'en-tête que vous souhaitez accéder.

Exemple complet

Voici un exemple complet qui combine toutes les étapes :

with open('table.txt', 'r') as file:
lines = file.readlines()

headers = lines[0].strip().split('\t')

data = []
for line in lines[1:]:
values = line.strip().split('\t')
row = dict(zip(headers, values))
data.append(row)

# Accéder au dictionnaire
valeur = data[0]['nom_en_tête']

N'oubliez pas de remplacer 'table.txt' par le chemin d'accès à votre fichier texte réel et 'nom_en_tête' par l'en-tête spécifique auquel vous souhaitez accéder.

Et voilà ! Vous avez réussi à convertir une table à partir d'un fichier texte en un dictionnaire en utilisant Python. N'hésitez pas à modifier le code en fonction de vos besoins spécifiques.