OpenWeatherMap - Fehler bei Datenabfrage (KeyError)
Verfasst: Freitag 14. August 2020, 15:40
Guten Tag liebes Forum,
ich bin gerade dabei eine Wettervorhersage mit der OpenWeatherMap API zu basteln. Dazu habe ich mir dieses YouTube Tutorial angesehen: https://www.youtube.com/watch?v=PWZKTWJ9bJE
Ich habe alle Schritte befolgt (und ein paar Anpassungen vorgenommen, was die bestimmten Daten angeht), wie sie im Video zu sehen sind.
Leider funktioniert das Auslesen der Daten der request nicht.
Ich erhalte immer diese Fehlermeldung:
Mein Quellcode sieht, bis jetzt, folgendermaßen aus:
Wenn ich die einzelnen Abfragen, wie z.B. city_name, deaktiviere und mir nur data Printen lasse (über pprint(data)) funktioniert es reibungslos und mir wird alles so angezeigt:
Ich habe bereits den ganzen Tag gestern und heute recherchiert und habe leider keine Lösung für mein Problem gefunden. (Entweder bin ich blind und habe die entsprechenden Foren übersehen, oder ich bin der Einzige mit dem Problem
)
Ich wäre verdammt dankbar, wenn mir jemand helfen könnte.
Liebe Grüße
Anmerkung: Ich habe erst vorgestern Abend mit Python angefangen, kenne mich also kaum aus. Nehmt es mir daher nicht übel, wenn ich "dumme" Fragen stelle, oder den vielleicht offensichtlichen Fehler nicht erkenne. Danke
ich bin gerade dabei eine Wettervorhersage mit der OpenWeatherMap API zu basteln. Dazu habe ich mir dieses YouTube Tutorial angesehen: https://www.youtube.com/watch?v=PWZKTWJ9bJE
Ich habe alle Schritte befolgt (und ein paar Anpassungen vorgenommen, was die bestimmten Daten angeht), wie sie im Video zu sehen sind.
Leider funktioniert das Auslesen der Daten der request nicht.
Ich erhalte immer diese Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "weather_api.py", line 12, in <module>
city_name = data['name']
KeyError: 'name'
Mein Quellcode sieht, bis jetzt, folgendermaßen aus:
Code: Alles auswählen
import requests
from pprint import pprint
city = input('Geben Sie ihren Standort ein: ')
url = 'https://api.openweathermap.org/data/2.5/find?q={}&units=metric&appid=XXXX'.format(city)
res = requests.get(url)
data = res.json()
city_name = data['name']
country = data['sys']['country']
coord_lat = data['coord']['lat']
coord_lon = data['coord']['lon']
temp = data['main']['temp']
feels_like = data['main']['feels_like']
temp_min = data['main']['temp_min']
temp_max = data['main']['temp_max']
humidity = data['main']['humidity']
weather = data['weather']['description']
wind_speed = data['wind']['speed']
wind_deg = data['wind']['deg']
print(city_name ,country)
print(coord_lat , coord_lon)
print('Temperatur: ',temp)
print('Gefühlte Temperatur: ',feels_like)Code: Alles auswählen
mergedeyes@Jans-MacBook-Pro Weather_API % python weather_api.py
Geben Sie ihren Standort ein: Künzelsau
{'cod': '200',
'count': 1,
'list': [{'clouds': {'all': 40},
'coord': {'lat': XX, 'lon': XX.6889},
'dt': 1597414349,
'id': 2882439,
'main': {'feels_like': 24.78,
'humidity': 78,
'pressure': 1015,
'temp': 23.03,
'temp_max': 25,
'temp_min': 22},
'name': 'Künzelsau',
'rain': {'1h': 2.54},
'snow': None,
'sys': {'country': 'DE'},
'weather': [{'description': 'moderate rain',
'icon': '10d',
'id': 501,
'main': 'Rain'}],
'wind': {'deg': 210, 'speed': 2.1}}],
'message': 'accurate'}
mergedeyes@Jans-MacBook-Pro Weather_API % Ich wäre verdammt dankbar, wenn mir jemand helfen könnte.
Liebe Grüße
Anmerkung: Ich habe erst vorgestern Abend mit Python angefangen, kenne mich also kaum aus. Nehmt es mir daher nicht übel, wenn ich "dumme" Fragen stelle, oder den vielleicht offensichtlichen Fehler nicht erkenne. Danke