Comment ajouter dans un fichier json en Python?

J'ai l'un fichier json dont le contenu est {"67790": {"1": {"kwh": 319.4}}}. Maintenant, je crée un dictionnaire a_dict que je dois ajouter dans le fichier json. J'ai essayé ce qui suit, mais n'a pas été en mesure de le faire correctement. Où je vais mal?

with open(DATA_FILENAME, 'a') as f:
   json_obj = json.dump(a_dict, json.load(f)
   f.write(json_obj)
   f.close()
23
demandé sur PythonEnthusiast 2013-09-24 15:12:21

3 réponses

En supposant que vous avez un fichier test.json avec le contenu suivant:

{"67790": {"1": {"kwh": 319.4}}}

Ensuite, le code ci-dessous load le fichier json, mettre à jour les données à l'intérieur à l'aide de dict.update() et dump dans le test.json fichier:

import json

a_dict = {'new_key': 'new_value'}

with open('test.json') as f:
    data = json.load(f)

data.update(a_dict)

with open('test.json', 'w') as f:
    json.dump(data, f)

, Puis, dans test.json, vous aurez:

{"new_key": "new_value", "67790": {"1": {"kwh": 319.4}}}

J'espère que c'est ce que vous vouliez.

51
répondu alecxe 2015-12-06 16:15:26

Vous devez mettre à jour la sortie de json.charger avec a_dict, puis vider le résultat. Et vous ne pouvez pas ajouter au fichier mais vous devez l'écraser.

4
répondu Nicolas Barbey 2013-09-24 11:17:20
json_obj=json.dumps(a_dict, ensure_ascii=False)
0
répondu kodeslacker 2013-09-24 11:19:02