Редактирование JSON с Array
В JSON файле встречаются массивы(не один). Нужно с помощью Vim or Python или еще чего создать дубликаты это файла json но с разделением массива на более мелкие например по 20 элементов в каждом. Например:
"season": "2016/2017",
"country": "Argentina",
"league": "Liga Profesional",
"championship": "Boca Juniors",
"data": [
"25.09.2016",
"27.09.2016",
"26.09.2016",
"26.09.2016",
"25.09.2016",
"26.09.2016",
"26.09.2016",
"25.09.2016",
"27.09.2016",
"25.09.2016",
"25.09.2016",
"25.09.2016",
"03.10.2016",
"03.10.2016",
"03.10.2016",
"04.10.2016",
"03.10.2016",
"01.10.2016",
"01.10.2016",
"02.10.2016",
"02.10.2016",
"03.10.2016",
"02.10.2016",
"01.10.2016",
"02.10.2016",
"02.10.2016",
"01.10.2016"
]
}```
Должны получить к примеру 2 файла
``` {
"season": "2016/2017",
"country": "Argentina",
"league": "Liga Profesional",
"championship": "Boca Juniors",
"data": [
"25.09.2016",
"27.09.2016",
"26.09.2016",
"26.09.2016",
"25.09.2016",
"26.09.2016",
"26.09.2016",
"25.09.2016",
"27.09.2016",
"25.09.2016",
"25.09.2016",
"25.09.2016"
]
}
{
"season": "2016/2017",
"country": "Argentina",
"league": "Liga Profesional",
"championship": "Boca Juniors",
"data": [
"03.10.2016",
"03.10.2016",
"03.10.2016",
"04.10.2016",
"03.10.2016",
"01.10.2016",
"01.10.2016",
"02.10.2016",
"02.10.2016",
"03.10.2016",
"02.10.2016",
"01.10.2016",
"02.10.2016",
"02.10.2016",
"01.10.2016"
]
}
Ответы (1 шт):
Автор решения: Andrew Holovko
→ Ссылка
Пример адаптирован под ваш формат json.
# json_data - ваш json, n - по сколько записей разбивать
def divide_json(json_data: dict ,n: int = 5):
kek = [json_data['data'][i:i + n] for i in range(0, len(json_data['data']), n)]
for i in kek:
a['data'] = i
yield a