Как добавить строку словаря в файл JSON

#python #json #pandas

#python #json #pandas

Вопрос:

Я пытаюсь достичь приведенного ниже формата JSON и сохранить его в файле json:

 {
    "Name": "Anurag",
    "resetRecordedDate": false,
    "ED": {
        "Link": "google.com"
    }
}
  

Я знаю, как создать простой файл JSON с использованием дампов JSON, но не совсем уверен, как добавить что-то похожее на словарь для одной из записей в файле JSON.

Комментарии:

1. Вы хотите добавить ключи к существующему словарю и поместить его в файл json? Или прочитать из json и добавить к нему, а затем сбросить его обратно?

2. Я хочу прочитать из JSON и добавить к нему, а затем сбросить обратно, используя python или pandas @LeelaPrasad

3. Выполните следующие действия: 1) Загрузите JSON из файла 2) my_dict['new_key'] = 'new_value' 3) Сбросьте dict в файл

4. Что делать, если значение ED передается из файла csv. Могу ли я добавить файл csv.DictReader(csvfile) непосредственно к ключу ED? @balderman

Ответ №1:

Предполагая, что входное содержимое json

   {
        "Name": "Anurag",
        "resetRecordedDate": False
    }
  

Программа

 import json

# read file
with open('example.json', 'r') as infile:
    data=infile.read()

# parse file
parsed_json = json.loads(data)

# Add dictionary element
parsed_json["ED"] = {
        "Link": "google.com"
    }

# print(json.dumps(parsed_json, indent=4))

# write to json
with open('data.json', 'w') as outfile:
    json.dump(parsed_json, outfile)
  

o/p

 { 
    "Name": "Anurag", 
    "resetRecordedDate": false, 
    "ED": { 
                     "Link": "google.com"
      }
 }
  

Комментарии:

1. Что делать, если значение ED передается из файла csv. Могу ли я добавить файл csv.DictReader(csvfile) непосредственно к ключу ED?

2. Пока это допустимый словарь, да, вы можете. Чтобы ваши дампы json в конечном итоге не создавали странный json или даже не могли этого сделать.

3. Я получаю ошибку типа при разборе csv.dictreader «csvfile = open(‘formatted.csv’, ‘r’) dictionary ={ «Name»: «Anurag», «resetRecordedDate»: «false», } # Сериализация json json_object = json.dumps(словарь, отступ =4) # Запись в sample.json с помощью open(«sample.json», «w») как outfile: outfile . записать (json_object) # чтение файла с помощью open(‘sample.json’, ‘r’) в виде файла: data=infile.read() # разобрать файл parsed_json = json.loads(данные) # Добавить элемент словаря parsed_json[«embeddedData»] = { csv.DictReader(csv-файл) }« @LeelaPrasad

4. Объект типа set не сериализуем