У меня есть API данных JSON, который содержит ~ 600 записей, каждая из которых содержит изменяющиеся данные об объекте. В некоторых случаях есть ключевое значение данных, а в других - нет. Я хочу проверить, присутствуют ли эти данные JSON, и сохранить их, а также перенести их на следующее устройство.
Попытка отсортировать записи с конкретными данными и без них:
if data["entity"][n]["sensor_data"]["light_ intensity"] in data["entity"]:
logger.debug("There is light_intensity data on this devcie")
light_ intensity = data["entity"][n]["sensor_data"]["light_ intensity"]
Каков наилучший способ сделать это? Прямо сейчас я получаю KeyError
, что 'light_ интенсивности' не определено - если я вручную посмотрю на данные и найду сущность, у которой есть light_ intensity
данные, и жестко закодирую ее следующим образом.
light_ intensity = data["entity"][222]["sensor_data"]["light_intesity"]
logger.debug("Devcie 222 light_intesity: %s lums", light_intesity)
Возвращает:
Device 222 light_intensity: 88 lums
Это говорит мне, что я могу читать данные от сущностей, у которых есть покупка данных, получить KeyError
от тех, у кого их нет. Я пытаюсь создать поиск в том смысле, который позволяет мне находить, какие устройства имеют процент светлых показаний, и использовать эти данные, а также пропускать устройства, которые в данный момент не отправляют эти данные.