Skip to content
Advertisement

How to search a dictionary and append a field to JSON by key value?

I am trying to write a script like this in Python:

Let’s say I have two JSON files, one has a data structure like this :

fruitswithprice.json

 {
  fruit: "banana",
  color: "yellow",
  price : 20,
 }

the other is fruitsnoprice.json

  {
  fruit: "banana",
 color: "yellow",
  }

I want to append the price field to fruitsnoprice.json for every entry that the key “fruit” matches.

I tried this :

new_dict = []


def add_price(json_file):
    with open("../../dictionary/original.json", "r", encoding="utf-8") as original_dictionary, open(json_file, "r", encoding="utf-8-sig") as word_list:
                dictionary = json.load(original_dictionary)
                list_to_append = json.load(word_list)
                              
                for word in dictionary:
                    for wInList in list_to_append:
                        if word['fruit'] == wInList['fruit']:
                            wInList['price'] == word['price']
                            new_dict.append(wInList)
                print(new_dict)

getting an error at wInList[‘price’] == word[‘price’].

Advertisement

Answer

You can’t do this: wInList['price'] == word['price'].

You can assign it like this:

wInList['price'] = word['price'] # Notice! Just one '='
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement