@nedland

Как обьеденить 5 json в один на python?

Ребят, познаю, гуглю, но толкового примера не нашел, и в теории не могу сам придумать. Сначала словами, собираю данные в .json формате. На выхлопе выходит 10-40 файлов формата 1.json, 2.json и т.п. Самый простой пример (если он такой) без удаления объединяющихся .json и т.п.
Как по окончанию цикла обьеденить все файлы в один. Вот код для образца, помогите, буду брагодарен!
def get_json()
 t = ['1','2','3','4','5']
  for x in t:
  dict = {}
  //тут данные, которые собираю, пропущу
  with open(f"jsonfiles/{x}.json", "w") as file:
   json.dump(dict, file, indent=4, ensure_ascii=False)
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
А что мешает создать список и в конце каждой итерации добавлять в него получившийся словарь?
И сохранять не 10-40 словарей в эти же 10-40 файлов а 1 список с соответствующим количеством словарей?
Ответ написан
@deliro
но толкового примера не нашел

Потому что его не может существовать физически. JSON нельзя просто склеить. Например, в файле 1.json будет [1,2,3], а в 2.json будет [4,5,6]. Они как должно склеиться? Как [1,2,3,4,5,6] или как [[1,2,3], [4,5,6]]? Если в файле 1.json будет null, а в 2.json будет "2" — как их склеить? Это вообще невозможно. Если в 1.json будет {"a": [1,2,3], "b": 2}, а в 2.json будет {"a": [4], "c": 3}, результат должен быть {"a": [1,2,3,4], "b": 2, "c": 3} или {"a": [4], "b": 2, "c": 3} или [{"a": [1,2,3], "b": 2}, {"a": [4], "c": 3}] или {"a": [[1,2,3], [4]], "b": 2, "c": 3} или как?

Для конкретного формата JSON нужно установить правила мержа, которые удовлетворяют твоим требованиям.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы