Как в 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 не нужна.