Уведомления

Группа в Telegram: @pythonsu

#1 Июль 9, 2018 23:03:46

Maxim_m
Зарегистрирован: 2017-10-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг словаря

Бодрого времени суток
Помогите разобраться
есть код .json

{
“features”: [{
“geometry”: {
“coordinates”: ,
“type”: “Point”
},
“properties”: {
“ReleaseNumber”: 2,
“Attributes”: {
“global_id”: 20660594,
“IsNetObject”: “нет”,
“SeatsCount”: 30,
“SocialPrivileges”: “нет”
}
},
“type”: “Feature”
}, {
“geometry”: {
“coordinates”: ,
“type”: “Point”
},
“properties”: {
“ReleaseNumber”: 2,
“Attributes”: {
“global_id”: 20660628,
“IsNetObject”: “нет”,
“SeatsCount”: 50,
“SocialPrivileges”: “нет”
}
},
“type”: “Feature”
}
}

и тд

как мне сделать скрипт который сравнивает число из ключа “SeatsCount” и у кого число больше - выводит “global_id”?



Пока все что я придумал это декодировать

import json

with open('brs.json', ‘r’, encoding='utf-8') as fh:
data = json.load(fh)

Офлайн

#2 Июль 10, 2018 11:12:31

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Парсинг словаря

Вы правильно начали.
Как видно из куска JSON имеется список неких Feature. Что бы решить вашу задачу можем прибегнуть к такой тактике 1) собираем список из параметров SeatsCount и global_id 2)сортируем полученный список по SeatsCount 3) берем крайний элемент.
Для реализации пункта 1) можно прибегнуть как к list comprehension так и обычным циклом for 2) встроенная функция sorted либо метод списка sort 3) в зависимости от направления сортировки взять либо элемент с индексом 0 либо -1 (т.е. последний элемент)

Сами попробуете реализовать?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Отредактировано JOHN_16 (Июль 10, 2018 11:12:53)

Офлайн

#3 Июль 10, 2018 21:06:49

Maxim_m
Зарегистрирован: 2017-10-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг словаря

JOHN_16
Таких элементов с глобал ид и SeatsCount в коде много, мне на ум тольк пришло сделать
словарь, где (ИД = SeatsCount) вот только не могу понять как код строить, что бы словарь брал эти данные.

Или так лучше не делать и собрать список?

Офлайн

#4 Июль 10, 2018 21:11:34

Maxim_m
Зарегистрирован: 2017-10-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг словаря

код

Прикреплённый файлы:
attachment Снимок экрана 2018-07-10 в 21.09.23.png (80,8 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version