@Ninzalo

Как объединить элементы json файла по параметру?

Здравствуйте, у меня есть json файл с большим количеством данных
пример этого файла:
[ { "date": "2022-2-7", "other': {еще ключи} }, { "date": "2022-2-7", "other': {еще ключи} }, { "date": "2022-2-8", "other': {еще ключи} } ]
Мне нужно объединить эти данные по ключу "date". Пример результата:
[ { "date": "2022-2-7", "data": [(сюда данные по ключу "other" из всех элементов с такой же датой)]},{ "date": "2022-2-8", "data": [(сюда данные по ключу "other" из всех элементов с такой же датой)] } ]
Более конкретный пример:
Входные данные:
[ { "date": "2022-2-7", "other": {"num": 1, "num2": 2} }, { "date": "2022-2-7", "other": {"num": 3, "num2": 4} }, { "date": "2022-2-8", "other": {"num": 5, "num2": 6} } ]
Пример результата:
[ { "date": "2022-2-7", "data": [ {"num": 1, "num2": 2}, {"num": 3, "num2": 4} ] }, { "date": "2022-2-8", "data": [ {"num": 5, "num2": 6} ] } ]

Что-то похожее уже делал раньше, но это было не особо лаконично и достаточно громостко.
  • Вопрос задан
  • 632 просмотра
Решения вопроса 1
SuperZombi
@SuperZombi
Так пойдет?
arr = [ { "date": "2022-2-7", "other": [123] },
		{ "date": "2022-2-7", "other": [456] },
		{ "date": "2022-2-8", "other": [789] } ]

new_dict = {}
for i in arr:
	if not i['date'] in new_dict.keys():
		new_dict[i['date']] = i['other']
	else:
		new_dict[i['date']] += i['other']

print(new_dict)

>> {'2022-2-7': [123, 456], '2022-2-8': [789]}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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