0
votes

Convertir le fichier txt au dictionnaire de python

J'ai un fichier TXT contenant ce qui suit:

lundi 56

mardi, 89

mercredi, 57

lundi 34 < / p>

mardi, 31

mercredi, 99

J'en ai besoin d'être converti à un dictionnaire:

{'lundi': [56 , 34], "mardi": [89, 31], "mercredi": [57, 99]}

Voici le code que j'ai jusqu'à présent: xxx

et voici le résultat que j'entiens de celui-ci:

{'lundi,': '56'}

{'lundi': '56', ' Mardi, ':' 89 '}

{' Lundi ':' 56 ',' Mardi, ':' 89 ',' Mercredi, ':' 57 '} {'Lundi,': '34', 'Mardi,': '89', 'Mercredi,': '57'}

{'Lundi': '34', 'Mardi,': '31', 'mercredi,': '57'}

{'lundi,': '34', 'Mardi,': '31', 'mercredi,': '99'}

Quelqu'un peut-il m'aider avec cela?

merci


3 commentaires

1. Lorsque vous faites d [...] = val , vous Attribuer val à 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 () divise les espaces. Vous avez également besoin de supprimer la virgule. Pensez à la manière dont vous pouvez obtenir split () 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


3 Réponses :


1
votes
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.

0 commentaires

2
votes

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é: xxx


0 commentaires

2
votes
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.

0 commentaires