У вас есть объект rows (например, список словарей). Как корректно сохранить его в файл result.json?
A
with open("result.json", "w", encoding="utf-8") as f: f.write(rows)B
with open("result.json", "w", encoding="utf-8") as f: f.write(json.loads(rows))C
with open("result.json", "w", encoding="utf-8") as f: json.dumps(f, rows)D
with open("result.json", "w", encoding="utf-8") as f: f.write(json.dumps(rows))Правильный ответ.
json.dumps() делает строку JSON, которую затем можно записать в файл.Разбор
Чтобы сохранить Python-объект в JSON-файл, сначала сериализуйте его в строку через json.dumps(rows), а затем запишите строку в файл (открытый в режиме w). f.write(...) ожидает строку, поэтому запись «как есть» объекта rows не подходит. В аналитике это типичный шаг при сохранении результатов расчётов в переносимый формат.
Проверь себя · 1/3разбор после ответа
В файле
events.json лежит JSON-текст. Как получить Python-объект из этого файла?Ещё вопросы по теме «Работа с файлами: JSON и CSV»
- Вы сохраняете результат анализа в файл отчёта. Что произойдёт, если выполнить `open("report.csv", "w")`, когда `report.csv` уже существует?
- Что гарантирует конструкция `with open("data.csv", "r") as f:` при чтении файла?
- Есть строка `text = '{"user_id": 7, "active": true}'`. Что вернёт `json.loads(text)`?
- Вы читаете CSV с заголовком через `csv.DictReader(f)`. Что представляет собой `row` внутри цикла `for row in csv.DictReader(f):`?
- Вы хотите дописывать строки в файл лога `errors.log`, не удаляя то, что уже записано. Как открыть файл?
- Все вопросы по «Работа с файлами: JSON и CSV» →