Как в json с помощью try except проверить значение ключа?

У меня есть код:

    try:
        sku = product['sku']
        category = product['category']
        name = product['name']
        part = product['part']
        vendor = product['vendor']
        weight = product['weight']
        price = product['price']
        qty = len(product['qty'])

        products_list = {
            "externalcategoryid": category,
            "name": name,
            "briefdescription": part,
            "sku": sku,
            "producer": vendor,
            "weight": weight,
            "price": price,
            "qty": qty
        }
        ready_products.append(products_list)
        print(f'Выгрузка {name} прошла успешно!')
    except ValueError:
        pass

введите сюда описание изображения Мне требуется чтобы при отсутствии данных в одном из выше перечисленных переменных - цикл переходил к следующей итерации. Пробовал и ValueError и KeyError, но что то не работает, все равно append'ит в массив данные. Помогите пожалуйста.

Соединял два массива с помощью дата фрейма pandas, отсюда и nan.


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

Автор решения: A_Vaclav

Если вы собираетесь обрабатывать исключение возникающее при отсутствии ключа в словаре, то исключение будет: NameError.

a = {}
print(a[key])
#https://colab.research.google.com

NameError                                 Traceback (most recent call last)
<ipython-input-1-17f87fc1f0de> in <module>()
      1 a = {}
----> 2 print(a[key])

NameError: name 'key' is not defined

Но похоже у вас все ключи на месте. Нужно проверять значение по ключу. А для этого конструкция try - except не нужна.

→ Ссылка