J'ai un fichier TXT contenant ce qui suit:
lundi 56 p>
mardi, 89 p>
mercredi, 57 p>
lundi 34 < / p>
mardi, 31 p>
mercredi, 99 p>
J'en ai besoin d'être converti à un dictionnaire: p>
{'lundi': [56 , 34], "mardi": [89, 31], "mercredi": [57, 99]} p>
Voici le code que j'ai jusqu'à présent: p> et voici le résultat que j'entiens de celui-ci: p> {'lundi,': '56'} p> {'lundi': '56', ' Mardi, ':' 89 '} P> {' Lundi ':' 56 ',' Mardi, ':' 89 ',' Mercredi, ':' 57 '} P> P> P> P> P> P> P> P> {'Lundi,': '34', 'Mardi,': '89', 'Mercredi,': '57'} P> {'Lundi': '34', 'Mardi,': '31', 'mercredi,': '57'} p> {'lundi,': '34', 'Mardi,': '31', 'mercredi,': '99'} P> Quelqu'un peut-il m'aider avec cela? p> merci p> p>
3 Réponses :
d = {}
with open("test.txt") as f:
for line in f:
(key, val) = line.split()
if key in d:
d[str(key)].append(val)
else:
d[str(key)] = [val]
print(d)
Try to add list of value in dictionary.
Lorsque vous divisez la ligne, vous pouvez utiliser une virgule comme séparateur. Ensuite, après avoir fractionné la ligne, vous pouvez vérifier le dictionnaire s'il contient déjà la clé:
d = {}
with open("test.txt") as f:
for line in f:
(key, val) = line.split()
if not key in d.keys():
d[key] = []
d[key].append(val)
print (d)
This should work.
1. Lorsque vous faites
d [...] = val code>, vous Attribuer i>val code> à cette touche dans le dictionnaire. Pensez à savoir si c'est ce que vous avez vraiment besoin de faire (indice: ce n'est pas). 2.ligne.split () code> divise les espaces. Vous avez également besoin de supprimer la virgule. Pensez à la manière dont vous pouvez obtenirsplit () code> pour le faire pour vous.Désolé je ne comprends pas. Je suis très nouveau à tout cela.
Cela devrait aider: Stackoverflow.com/a/41165767/1174966