Ошибка: IndexError: list index out of range [2]

Есть скрипт который получает данные в формате json и после с помощью UPDATE вносит их в базу. Для некоторых данных нет значения и вылазит ошибка: IndexError: list index out of range

и после останавливается скрипт, в запрос UPDATE я прямо так и вписал, предварительно никакой проверки нет

'UPDATE `emp` SET `name` = "' + str(json_loads['name'][0]) + '", .....

Как сделать чтобы это игнорировалось и скрипт продолжал работу или была предварительная проверка перед запросом и просто записывалась пустота?

Язык: python

Спасибо!


Ответы (1 шт):

Автор решения: Сергей

Классически "чтобы это игнорировалось" делается с помощью исключений (Exception). Try-except, with-as, raise и т.д. Тут до проведения update (для одного элемента для наглядности) - в данном варианте элемент считается равным None при IndexError:

    try:
        str_info=str(json_loads['name'][0])
    except IndexError:
        str_info=None 
    finally:
        'UPDATE `emp` SET `name` = "' +str_info
    

Для большего количества сделайте цикл, например, с while. Так как я не знаю, как вы определяете количество элементов для запроса из базы, то мне код не написать.

→ Ссылка