2
respostas

Erro

import requests

url = 'https://guilhermeonrails.github.io/api-restaurantes/restaurantes.json'

response = requests.get(url) print(response)

if response.status_code == 200: dados_json = response.json() dados_restaurante = {} for item in dados_json: nome_do_restaurante = item['Company'] if nome_do_restaurante not in dados_restaurante: dados_restaurante[nome_do_restaurante] = [] dados_restaurante[nome_do_restaurante].append({ "item": item['item'], "price": item['price'], "description": item['description'] })

else: print(f'O erro foi {response.status_code}') print (dados_restaurante["McDonald’s"])

quando eu rodo aparece o seguinte erro

(venv) PS C:\Users\Gizele PC Mestrado P\Desktop\projeto 3 python> & "c:/Users/Gizele PC Mestrado P/Desktop/projeto 3 python/venv/Scripts/python.exe" "c:/Users/Gizele PC Mestrado P/Desktop/projeto 3 python/app.py" <Response [200]> Traceback (most recent call last): File "c:\Users\Gizele PC Mestrado P\Desktop\projeto 3 python\app.py", line 16, in "item": item['item'], ~~~~^^^^^^^^ KeyError: 'item'

2 respostas

Oi, Andrigo! Tudo bem?

De acordo com o código enviado e a mensagem de erro apresentada, o problema está relacionado à chave 'item' que estamos tentando acessar no dicionário item. No entanto, de acordo com o contexto fornecido, a chave correta no JSON é 'Item' com "I" maiúsculo. Devido a isso, devemos deixar esse trecho de código da seguinte forma:

import requests

url = 'https://guilhermeonrails.github.io/api-restaurantes/restaurantes.json'

response = requests.get(url)
print(response)

if response.status_code == 200:
    dados_json = response.json()
    dados_restaurante = {}
    for item in dados_json:
        nome_do_restaurante = item['Company']
        if nome_do_restaurante not in dados_restaurante:
            dados_restaurante[nome_do_restaurante] = []
        dados_restaurante[nome_do_restaurante].append({
            "item": item['Item'],  # Corrigido para 'Item' com "I" maiúsculo
            "price": item['price'],
            "description": item['description']
        })
else:
    print(f'O erro foi {response.status_code}')

print(dados_restaurante["McDonald’s"])

Espero ter ajudado!

Um forte abraço e bons estudos!

Obrigado Sarah!!