Как установить значение по умолчанию для ключа в dict, когда значение ключа не найдено в dict в python - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь почистить некоторые результаты ebay с помощью python, и у меня возникает ошибка:

condition = item['condition'][0]['conditionDisplayName'][0]
>>> KeyError: 'condition'`

Это код, о котором идет речь:

for item in (parseddoc["findItemsByKeywordsResponse"][0] ["searchResult"][0]["item"]):
    condition = item['condition'][0]['conditionDisplayName'][0]
    print(condition)

Я пытаюсьчтобы выяснить, как остановить ошибку и просто установить значение по умолчанию ( "N/A" for example ) и продолжить цикл.Какой лучший способ достичь этого?Спасибо

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Используйте предложение try / except, чтобы поймать KeyError:

for item in parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]:

    try:
        condition = item['condition'][0]['conditionDisplayName'][0]
    except KeyError:
        condition = 'N/A'

    print(condition)
0 голосов
/ 12 октября 2018

Добавьте следующий оператор if / else в ваш цикл:

for item in (parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]):
    if 'condition' not in item:
        condition = 'N/A'
    else:
        condition = item['condition'][0]['conditionDisplayName'][0]
    print(condition)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...