Dictionnaire à partir d'un fichier txt
stanis
-
douba -
douba -
Bonjour,
Je voudrais créer un dictionnaire à partir d'un fichier texte (bloc-notes) :
dont la structure est de la forme :
Pour l'instant j''arrive à ce que le code me renvoie ceci :
Mais le problème c'est que il me renvoie n fois ca et changer de personnage , il renvoie toujours la même valeurs n fois. Je voudrais savoir comment faire pour pouvoir avoir la même chose mais pour tout les personnages.
Mon code : (il doit sûrement contenir plein d'erreurs, je n'ai jamais utilisé de fichier en python) :
Je voudrais créer un dictionnaire à partir d'un fichier texte (bloc-notes) :
Peter 100 35 35 50 15 light
Ivan 45 49 49 45 65 cut
Salem 39 52 43 65 55 light
Clara 44 48 65 43 57 swim
Tara 30 56 35 72 30 strenght
Alice 50 10 20 80 15
Cachou 35 55 30 90 45 cut
Roux 40 45 40 56 35
dont la structure est de la forme :
Name HP Attack Defense Speed Size Abilities
Pour l'instant j''arrive à ce que le code me renvoie ceci :
{'name': 'Peter', 'hp': '100', 'Attack': '35', 'Defense': '35', 'Speed': '50', 'Size': '15', 'Abilities': 'light'}
Mais le problème c'est que il me renvoie n fois ca et changer de personnage , il renvoie toujours la même valeurs n fois. Je voudrais savoir comment faire pour pouvoir avoir la même chose mais pour tout les personnages.
Mon code : (il doit sûrement contenir plein d'erreurs, je n'ai jamais utilisé de fichier en python) :
import re
f = open("annexe.txt","r")
r = f.read()
f.close()
m = r.split("\n")
n = re.split('\n| ' , r)
def personnage():
for i in range(len(m)):
keys_list = ['name', "hp","Attack","Defense","Speed","Size","Abilities" ]
dict_from_list = dict(zip(keys_list,n))
print(dict_from_list)
A voir également:
- Dico.txt
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
1 réponse
Salut,
Ton fichier étant un csv, autant utiliser le module dédié de python à cet usage.
Ceux pour lesquels une colonne est non spécifiée, abilities ici, il est spécifié
Ton fichier étant un csv, autant utiliser le module dédié de python à cet usage.
import csv
with open('plop.csv') as f:
keys_list = ['name', "hp","Attack","Defense","Speed","Size","Abilities" ]
persos = csv.DictReader(f, delimiter=' ', fieldnames=keys_list)
for perso in persos:
print(perso['name'], perso['Abilities'])
Ceux pour lesquels une colonne est non spécifiée, abilities ici, il est spécifié
None.