I'm trying to combine two JSON dictionaries. So far I have a JSON file(myjfile.json) with the contents
{"cars": 1, "houses": 2, "schools": 3, "stores": 4}
Also, I have a dictionary(mydict) in Python which looks like this:
{"Pens": 1, "Pencils": 2, "Paper": 3}
When I combine the two, they are two different dictionaries.
with open('myfile.json' , 'a') as f:
  json.dump(mydict, f)
Note that the myfile.json is being written with 'a' and a /n in the code because I want to keep the contents of the file and start a new line each time it's being written to.
I want the final result to look like
{"cars": 1, "houses": 2, "schools": 3, "stores": 4, "Pens": 1, "Pencils": 2, "Paper": 3}
                IIUC you need to join two dicts into one, you could do it with update:
a = {"cars": 1, "houses": 2, "schools": 3, "stores": 4}
b = {"Pens": 1, "Pencils": 2, "Paper": 3}
a.update(b)
print(a)
output would looks like:
{'Paper': 3, 'cars': 1, 'Pens': 1, 'stores': 4, 'Pencils': 2, 'schools': 3, 'houses': 2}
To create whole new dict without touching a you could do:
out = dict(list(a.items()) + list(b.items()))
print(out)
{'Paper': 3, 'cars': 1, 'Pens': 1, 'stores': 4, 'Pencils': 2, 'schools': 3, 'houses': 2}
EDIT
For your case you could load your json with json.load update it and then save it with json.dump:
mydict = {"Pens": 1, "Pencils": 2, "Paper": 3}
with open('myfile.json' , 'r+') as f:
   d = json.load(f)
   d.update(mydict)
   f.seek(0)
   json.dump(d, f)
   
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With