#python #json #list #object
Вопрос:
У меня также есть структурированный файл .json:
"[{"dataset": "x0", "test": "Test 3 ", "results": {"TP": 0, "FP": 0, "FN": 0, "TN": 17536}, "dir": "/Users//Test_3"}]"
Когда я пытаюсь прочитать его со следующим кодом:
with open(dir, 'r ') as f: data = json.load(f) print(data[0])
Я получаю [
в качестве вывода, что означает, что он считывает объект json в виде строки. Я не понимаю, проблема ли в том, как я его сохраняю. Поскольку я заполняю его в цикле, код, который создает этот объект, следующий:
json_obj = [] for i in range(len(dictionary)): dataset, test, dir = retrieve_data() tp, fp, tn, fn = calculate_score() json_obj.append({'dataset': dataset, 'test': test, 'results': {'TP': tp, 'FP': fp, 'FN': fn, 'TN': tn}, 'dir': dir }) json_dump = json.dumps(json_obj) with open(save_folder, 'w') as outfile: json.dump(json_dump, outfile)
Структура, которую я пытался создать, выглядит следующим образом:
{ "dataset": "1", "test": "trial1", "results": { "TP": 5, "FP": 3, "FN": 2, "TN": 5 }, "dir": dir }
Как я могу правильно прочитать его, чтобы сделать его доступным для анализа?
Ответ №1:
Вы конвертируете json_obj
в строку, а затем сбрасываете строку в файл. Дамп json_obj
непосредственно в файл:
#json_dump = json.dumps(json_obj) with open(save_folder, 'w') as outfile: json.dump(json_obj, outfile)