En este notebook veremos otro ejemplo de uso de la api open data de AEMET. En este caso obtendremos parámetros medidos por una estación meteorológica.
In [1]:
import requests
In [2]:
# Cargamos la api key
api_key = open("../../apikey-aemet.txt").read().rstrip()
querystring = {"api_key": api_key}
In [3]:
# Obtenemos información de todas als estaciones disponibles
url = "https://opendata.aemet.es/opendata/api/valores/climatologicos/inventarioestaciones/todasestaciones"
In [4]:
# Realizamos la request
r = requests.get(url, params=querystring, verify=False)
/home/asaez/miniconda3/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
In [5]:
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
In [6]:
# Obtenemos el link del que descargaremos los datos
data_url = r.json()['datos']
r_data = requests.get(data_url, params=querystring, verify=False)
In [7]:
# Vemos el contenido
stations = r_data.json()
stations
Out[7]:
[{'altitud': '98',
'indicativo': '1387E',
'indsinop': '08002',
'latitud': '431825N',
'longitud': '082219W',
'nombre': 'A CORUÑA AEROPUERTO',
'provincia': 'A CORUÑA'},
{'altitud': '58',
'indicativo': '1387',
'indsinop': '08001',
'latitud': '432157N',
'longitud': '082517W',
'nombre': 'A CORUÑA',
'provincia': 'A CORUÑA'},
{'altitud': '50',
'indicativo': '1393',
'indsinop': '08006',
'latitud': '430938N',
'longitud': '091239W',
'nombre': 'CABO VILAN',
'provincia': 'A CORUÑA'},
{'altitud': '80',
'indicativo': '1351',
'indsinop': '08004',
'latitud': '434710N',
'longitud': '074105W',
'nombre': 'ESTACA DE BARES',
'provincia': 'A CORUÑA'},
{'altitud': '230',
'indicativo': '1400',
'indsinop': '08040',
'latitud': '425529N',
'longitud': '091729W',
'nombre': 'FISTERRA',
'provincia': 'A CORUÑA'},
{'altitud': '685',
'indicativo': '1437O',
'indsinop': '08043',
'latitud': '424314N',
'longitud': '085524W',
'nombre': 'MONTE IROITE',
'provincia': 'A CORUÑA'},
{'altitud': '100',
'indicativo': '1473A',
'indsinop': '08039',
'latitud': '424418N',
'longitud': '083738W',
'nombre': 'PADRÓN',
'provincia': 'A CORUÑA'},
{'altitud': '370',
'indicativo': '1428',
'indsinop': '08042',
'latitud': '425317N',
'longitud': '082438W',
'nombre': 'SANTIAGO DE COMPOSTELA AEROPUERTO',
'provincia': 'A CORUÑA'},
{'altitud': '240',
'indicativo': '1475X',
'indsinop': '08041',
'latitud': '425234N',
'longitud': '083321W',
'nombre': 'SANTIAGO DE COMPOSTELA',
'provincia': 'A CORUÑA'},
{'altitud': '702',
'indicativo': '8175',
'indsinop': '08280',
'latitud': '385715N',
'longitud': '015123W',
'nombre': 'ALBACETE BASE AÉREA',
'provincia': 'ALBACETE'},
{'altitud': '674',
'indicativo': '8178D',
'indsinop': '08279',
'latitud': '390020N',
'longitud': '015144W',
'nombre': 'ALBACETE',
'provincia': 'ALBACETE'},
{'altitud': '880',
'indicativo': '8177A',
'indsinop': '08278',
'latitud': '385609N',
'longitud': '013936W',
'nombre': 'CHINCHILLA',
'provincia': 'ALBACETE'},
{'altitud': '605',
'indicativo': '7096B',
'indsinop': '08355',
'latitud': '383231N',
'longitud': '014211W',
'nombre': 'HELLÍN',
'provincia': 'ALBACETE'},
{'altitud': '43',
'indicativo': '8019',
'indsinop': '08360',
'latitud': '381658N',
'longitud': '003415W',
'nombre': 'ALICANTE/ALACANT AEROPUERTO',
'provincia': 'ALICANTE'},
{'altitud': '81',
'indicativo': '8025',
'indsinop': '08359',
'latitud': '382221N',
'longitud': '002939W',
'nombre': 'ALICANTE/ALACANT',
'provincia': 'ALICANTE'},
{'altitud': '15',
'indicativo': '8050X',
'indsinop': '08370',
'latitud': '384701N',
'longitud': '001004E',
'nombre': 'JÁVEA/ XÀBIA',
'provincia': 'ALICANTE'},
{'altitud': '575',
'indicativo': '7247X',
'indsinop': '08357',
'latitud': '382359N',
'longitud': '010217W',
'nombre': 'PINOSO ',
'provincia': 'ALICANTE'},
{'altitud': '885',
'indicativo': '6302A',
'indsinop': '08427',
'latitud': '370829N',
'longitud': '024647W',
'nombre': 'ABLA',
'provincia': 'ALMERIA'},
{'altitud': '8',
'indicativo': '6277B',
'indsinop': '08486',
'latitud': '364450N',
'longitud': '030114W',
'nombre': 'ADRA',
'provincia': 'ALMERIA'},
{'altitud': '15',
'indicativo': '6381',
'indsinop': '08490',
'latitud': '355618N',
'longitud': '030210W',
'nombre': 'ALBORÁN',
'provincia': 'ALMERIA'},
{'altitud': '21',
'indicativo': '6325O',
'indsinop': '08487',
'latitud': '365047N',
'longitud': '022125W',
'nombre': 'ALMERÍA AEROPUERTO',
'provincia': 'ALMERIA'},
{'altitud': '7',
'indicativo': '6297',
'indsinop': '',
'latitud': '364952N',
'longitud': '022720W',
'nombre': 'ALMERÍA',
'provincia': 'ALMERIA'},
{'altitud': '16',
'indicativo': '6332X',
'indsinop': '08488',
'latitud': '365849N',
'longitud': '015413W',
'nombre': 'CARBONERAS',
'provincia': 'ALMERIA'},
{'altitud': '300',
'indicativo': '6367B',
'indsinop': '08428',
'latitud': '372326N',
'longitud': '015637W',
'nombre': 'HUERCAL OVERA',
'provincia': 'ALMERIA'},
{'altitud': '3',
'indicativo': '6293X',
'indsinop': '08492',
'latitud': '364113N',
'longitud': '024206W',
'nombre': 'ROQUETAS DE MAR',
'provincia': 'ALMERIA'},
{'altitud': '513',
'indicativo': '9091O',
'indsinop': '08080',
'latitud': '425255N',
'longitud': '024406W',
'nombre': 'FORONDA-TXOKIZA',
'provincia': 'ARABA/ALAVA'},
{'altitud': '521',
'indicativo': '9087',
'indsinop': '',
'latitud': '425059N',
'longitud': '023922W',
'nombre': 'VITORIA AERÓDROMO',
'provincia': 'ARABA/ALAVA'},
{'altitud': '513',
'indicativo': '9091R',
'indsinop': '08080',
'latitud': '425219N',
'longitud': '024359W',
'nombre': 'VITORIA GASTEIZ AEROPUERTO',
'provincia': 'ARABA/ALAVA'},
{'altitud': '127',
'indicativo': '1212E',
'indsinop': '08011',
'latitud': '433401N',
'longitud': '060239W',
'nombre': 'ASTURIAS AEROPUERTO',
'provincia': 'ASTURIAS'},
{'altitud': '60',
'indicativo': '1283U',
'indsinop': '08010',
'latitud': '433409N',
'longitud': '062812W',
'nombre': 'CABO BUSTO',
'provincia': 'ASTURIAS'},
{'altitud': '100',
'indicativo': '1210X',
'indsinop': '08012',
'latitud': '433921N',
'longitud': '055055W',
'nombre': 'CABO PEÑAS',
'provincia': 'ASTURIAS'},
{'altitud': '40',
'indicativo': '1331A',
'indsinop': '08009',
'latitud': '433129N',
'longitud': '070153W',
'nombre': 'CASTROPOL',
'provincia': 'ASTURIAS'},
{'altitud': '26',
'indicativo': '1207U',
'indsinop': '08014',
'latitud': '433123N',
'longitud': '053716W',
'nombre': 'GIJÓN, CAMPUS',
'provincia': 'ASTURIAS'},
{'altitud': '22',
'indicativo': '1208A',
'indsinop': '',
'latitud': '433230N',
'longitud': '053943W',
'nombre': 'GIJÓN. LA MERCED',
'provincia': 'ASTURIAS'},
{'altitud': '5',
'indicativo': '1208H',
'indsinop': '08014',
'latitud': '433336N',
'longitud': '054203W',
'nombre': 'GIJÓN, PUERTO',
'provincia': 'ASTURIAS'},
{'altitud': '3',
'indicativo': '1208',
'indsinop': '',
'latitud': '433220N',
'longitud': '053815W',
'nombre': 'GIJÓN',
'provincia': 'ASTURIAS'},
{'altitud': '10',
'indicativo': '1183X',
'indsinop': '08016',
'latitud': '432513N',
'longitud': '044453W',
'nombre': 'LLANES',
'provincia': 'ASTURIAS'},
{'altitud': '336',
'indicativo': '1249I',
'indsinop': '08015',
'latitud': '432112N',
'longitud': '055227W',
'nombre': 'OVIEDO',
'provincia': 'ASTURIAS'},
{'altitud': '336',
'indicativo': '1249X',
'indsinop': '08015',
'latitud': '432112N',
'longitud': '055227W',
'nombre': 'OVIEDO',
'provincia': 'ASTURIAS'},
{'altitud': '1530',
'indicativo': '1542',
'indsinop': '08052',
'latitud': '425939N',
'longitud': '062451W',
'nombre': 'PUERTO DE LEITARIEGOS',
'provincia': 'ASTURIAS'},
{'altitud': '1480',
'indicativo': '1221D',
'indsinop': '08031',
'latitud': '425843N',
'longitud': '054635W',
'nombre': 'PUERTO DE PAJARES',
'provincia': 'ASTURIAS'},
{'altitud': '1143',
'indicativo': '2444C',
'indsinop': '',
'latitud': '403924N',
'longitud': '044201W',
'nombre': 'ÁVILA, AYUNTAMIENTO',
'provincia': 'AVILA'},
{'altitud': '1130',
'indicativo': '2444',
'indsinop': '08210',
'latitud': '403933N',
'longitud': '044048W',
'nombre': 'ÁVILA',
'provincia': 'AVILA'},
{'altitud': '1525',
'indicativo': '2811A',
'indsinop': '08206',
'latitud': '402102N',
'longitud': '050835W',
'nombre': 'NAVARREDONDA DE GREDOS',
'provincia': 'AVILA'},
{'altitud': '630',
'indicativo': '3391',
'indsinop': '08208',
'latitud': '401719N',
'longitud': '043527W',
'nombre': 'SOTILLO DE LA ADRADA',
'provincia': 'AVILA'},
{'altitud': '185',
'indicativo': '4452',
'indsinop': '08330',
'latitud': '385300N',
'longitud': '064850W',
'nombre': 'BADAJOZ AEROPUERTO',
'provincia': 'BADAJOZ'},
{'altitud': '273',
'indicativo': '4358X',
'indsinop': '08333',
'latitud': '385720N',
'longitud': '055250W',
'nombre': 'DON BENITO',
'provincia': 'BADAJOZ'},
{'altitud': '447',
'indicativo': '4244X',
'indsinop': '08264',
'latitud': '391010N',
'longitud': '050344W',
'nombre': 'HERRERA DEL DUQUE',
'provincia': 'BADAJOZ'},
{'altitud': '381',
'indicativo': '4511C',
'indsinop': '08337',
'latitud': '381755N',
'longitud': '064554W',
'nombre': 'JEREZ DE LOS CABALLEROS',
'provincia': 'BADAJOZ'},
{'altitud': '655',
'indicativo': '4386B',
'indsinop': '08336',
'latitud': '381354N',
'longitud': '060101W',
'nombre': 'LLERENA',
'provincia': 'BADAJOZ'},
{'altitud': '228',
'indicativo': '4410X',
'indsinop': '08331',
'latitud': '385457N',
'longitud': '062308W',
'nombre': 'MÉRIDA',
'provincia': 'BADAJOZ'},
{'altitud': '74',
'indicativo': '0252D',
'indsinop': '08186',
'latitud': '413515N',
'longitud': '023224E',
'nombre': 'ARENYS DE MAR',
'provincia': 'BARCELONA'},
{'altitud': '4',
'indicativo': '0076',
'indsinop': '08181',
'latitud': '411734N',
'longitud': '020412E',
'nombre': 'BARCELONA AEROPUERTO',
'provincia': 'BARCELONA'},
{'altitud': '408',
'indicativo': '0200E',
'indsinop': '',
'latitud': '412506N',
'longitud': '020727E',
'nombre': 'BARCELONA, FABRA',
'provincia': 'BARCELONA'},
{'altitud': '6',
'indicativo': '0201D',
'indsinop': '08180',
'latitud': '412326N',
'longitud': '021200E',
'nombre': 'BARCELONA',
'provincia': 'BARCELONA'},
{'altitud': '291',
'indicativo': '0149X',
'indsinop': '08174',
'latitud': '414312N',
'longitud': '015025E',
'nombre': 'MANRESA',
'provincia': 'BARCELONA'},
{'altitud': '146',
'indicativo': '0229I',
'indsinop': '08192',
'latitud': '413125N',
'longitud': '020611E',
'nombre': 'SABADELL AEROPUERTO',
'provincia': 'BARCELONA'},
{'altitud': '40',
'indicativo': '0255B',
'indsinop': '08188',
'latitud': '413903N',
'longitud': '024149E',
'nombre': 'SANTA SUSANNA',
'provincia': 'BARCELONA'},
{'altitud': '42',
'indicativo': '1082',
'indsinop': '08025',
'latitud': '431753N',
'longitud': '025423W',
'nombre': 'BILBAO AEROPUERTO',
'provincia': 'BIZKAIA'},
{'altitud': '208',
'indicativo': '1078I',
'indsinop': '08035',
'latitud': '431212N',
'longitud': '030617W',
'nombre': 'GÜEÑES',
'provincia': 'BIZKAIA'},
{'altitud': '12',
'indicativo': '1055B',
'indsinop': '08024',
'latitud': '432237N',
'longitud': '023037W',
'nombre': 'LEKEITIO',
'provincia': 'BIZKAIA'},
{'altitud': '93',
'indicativo': '1057B',
'indsinop': '08022',
'latitud': '432714N',
'longitud': '024510W',
'nombre': 'MACHICHACO',
'provincia': 'BIZKAIA'},
{'altitud': '90',
'indicativo': '1059X',
'indsinop': '08059',
'latitud': '432230N',
'longitud': '030118W',
'nombre': 'PUNTA GALEA',
'provincia': 'BIZKAIA'},
{'altitud': '790',
'indicativo': '2117D',
'indsinop': '08144',
'latitud': '413957N',
'longitud': '034434W',
'nombre': 'ARANDA DE DUERO',
'provincia': 'BURGOS'},
{'altitud': '820',
'indicativo': '9111',
'indsinop': '08077',
'latitud': '422516N',
'longitud': '031013W',
'nombre': 'BELORADO',
'provincia': 'BURGOS'},
{'altitud': '891',
'indicativo': '2331',
'indsinop': '08075',
'latitud': '422125N',
'longitud': '033713W',
'nombre': 'BURGOS AEROPUERTO',
'provincia': 'BURGOS'},
{'altitud': '580',
'indicativo': '9051',
'indsinop': '08063',
'latitud': '425512N',
'longitud': '032858W',
'nombre': 'MEDINA DE POMAR',
'provincia': 'BURGOS'},
{'altitud': '1080',
'indicativo': '2298',
'indsinop': '08149',
'latitud': '415735N',
'longitud': '030754W',
'nombre': 'PALACIOS DE LA SIERRA',
'provincia': 'BURGOS'},
{'altitud': '459',
'indicativo': '3469',
'indsinop': '',
'latitud': '392833N',
'longitud': '062235W',
'nombre': 'CÁCERES, CIUDAD',
'provincia': 'CACERES'},
{'altitud': '394',
'indicativo': '3469A',
'indsinop': '08261',
'latitud': '392817N',
'longitud': '062020W',
'nombre': 'CÁCERES',
'provincia': 'CACERES'},
{'altitud': '313',
'indicativo': '3526X',
'indsinop': '08251',
'latitud': '400013N',
'longitud': '063327W',
'nombre': 'CORIA',
'provincia': 'CACERES'},
{'altitud': '269',
'indicativo': '3434X',
'indsinop': '08254',
'latitud': '395645N',
'longitud': '053457W',
'nombre': 'NAVALMORAL DE LA MATA',
'provincia': 'CACERES'},
{'altitud': '415',
'indicativo': '3519X',
'indsinop': '08252',
'latitud': '400235N',
'longitud': '060509W',
'nombre': 'PLASENCIA',
'provincia': 'CACERES'},
{'altitud': '503',
'indicativo': '3463X',
'indsinop': '08263',
'latitud': '392857N',
'longitud': '055115W',
'nombre': 'TRUJILLO',
'provincia': 'CACERES'},
{'altitud': '445',
'indicativo': '3576X',
'indsinop': '08260',
'latitud': '392458N',
'longitud': '071452W',
'nombre': 'VALENCIA DE ALCÁNTARA',
'provincia': 'CACERES'},
{'altitud': '2',
'indicativo': '5973',
'indsinop': '08452',
'latitud': '362959N',
'longitud': '061528W',
'nombre': 'CÁDIZ',
'provincia': 'CADIZ'},
{'altitud': '913',
'indicativo': '5911A',
'indsinop': '08455',
'latitud': '364538N',
'longitud': '052227W',
'nombre': 'GRAZALEMA',
'provincia': 'CADIZ'},
{'altitud': '27',
'indicativo': '5960',
'indsinop': '08451',
'latitud': '364502N',
'longitud': '060321W',
'nombre': 'JEREZ DE LA FRONTERA AEROPUERTO',
'provincia': 'CADIZ'},
{'altitud': '21',
'indicativo': '5910',
'indsinop': '08449',
'latitud': '363820N',
'longitud': '061957W',
'nombre': 'ROTA, BASE NAVAL',
'provincia': 'CADIZ'},
{'altitud': '28',
'indicativo': '5972X',
'indsinop': '08453',
'latitud': '362756N',
'longitud': '061220W',
'nombre': 'SAN FERNANDO',
'provincia': 'CADIZ'},
{'altitud': '32',
'indicativo': '6001',
'indsinop': '08458',
'latitud': '360050N',
'longitud': '053556W',
'nombre': 'TARIFA',
'provincia': 'CADIZ'},
{'altitud': '186',
'indicativo': '5995B',
'indsinop': '08457',
'latitud': '361444N',
'longitud': '055754W',
'nombre': 'VEJER DE LA FRONTERA',
'provincia': 'CADIZ'},
{'altitud': '45',
'indicativo': '1083L',
'indsinop': '08020',
'latitud': '432341N',
'longitud': '031402W',
'nombre': 'CASTRO URDIALES',
'provincia': 'CANTABRIA'},
{'altitud': '870',
'indicativo': '9001D',
'indsinop': '08032',
'latitud': '425931N',
'longitud': '040938W',
'nombre': 'REINOSA',
'provincia': 'CANTABRIA'},
{'altitud': '40',
'indicativo': '1159',
'indsinop': '08017',
'latitud': '432336N',
'longitud': '042332W',
'nombre': 'SAN VICENTE DE LA BARQUERA',
'provincia': 'CANTABRIA'},
{'altitud': '3',
'indicativo': '1109',
'indsinop': '08021',
'latitud': '432526N',
'longitud': '034932W',
'nombre': 'SANTANDER AEROPUERTO',
'provincia': 'CANTABRIA'},
{'altitud': '64',
'indicativo': '1110',
'indsinop': '',
'latitud': '432754N',
'longitud': '034908W',
'nombre': 'SANTANDER, CIUDAD',
'provincia': 'CANTABRIA'},
{'altitud': '52',
'indicativo': '1111X',
'indsinop': '08023',
'latitud': '432928N',
'longitud': '034802W',
'nombre': 'SANTANDER',
'provincia': 'CANTABRIA'},
{'altitud': '52',
'indicativo': '1111',
'indsinop': '08023',
'latitud': '432928N',
'longitud': '034802W',
'nombre': 'SANTANDER',
'provincia': 'CANTABRIA'},
{'altitud': '720',
'indicativo': '9019B',
'indsinop': '08033',
'latitud': '424823N',
'longitud': '035602W',
'nombre': 'VALDERREDIBLE, POLIENTES ',
'provincia': 'CANTABRIA'},
{'altitud': '1220',
'indicativo': '9563X',
'indsinop': '08237',
'latitud': '402955N',
'longitud': '001112W',
'nombre': 'CASTELLFORT',
'provincia': 'CASTELLON'},
{'altitud': '43',
'indicativo': '8500A',
'indsinop': '08286',
'latitud': '395726N',
'longitud': '000419W',
'nombre': 'CASTELLÓN DE LA PLANA, ALMAZORA',
'provincia': 'CASTELLON'},
{'altitud': '25',
'indicativo': '8501',
'indsinop': '',
'latitud': '395920N',
'longitud': '000224W',
'nombre': 'CASTELLÓN DE LA PLANA',
'provincia': 'CASTELLON'},
{'altitud': '1131',
'indicativo': '8489X',
'indsinop': '08241',
'latitud': '402600N',
'longitud': '001521W',
'nombre': 'VILLAFRANCA DEL CID/VILLAFRANCA',
'provincia': 'CASTELLON'},
{'altitud': '111',
'indicativo': '8523X',
'indsinop': '08239',
'latitud': '403315N',
'longitud': '002547E',
'nombre': 'VINARÒS',
'provincia': 'CASTELLON'},
{'altitud': '200',
'indicativo': '5000A',
'indsinop': '',
'latitud': '355344N',
'longitud': '051732W',
'nombre': 'CEUTA, MONTE HACHO',
'provincia': 'CEUTA'},
{'altitud': '87',
'indicativo': '5000C',
'indsinop': '60320',
'latitud': '355319N',
'longitud': '052049W',
'nombre': 'CEUTA',
'provincia': 'CEUTA'},
{'altitud': '627',
'indicativo': '4121C',
'indsinop': '',
'latitud': '385916N',
'longitud': '035545W',
'nombre': 'CIUDAD REAL, INSTITUTO',
'provincia': 'CIUDAD REAL'},
{'altitud': '628',
'indicativo': '4121',
'indsinop': '08348',
'latitud': '385921N',
'longitud': '035513W',
'nombre': 'CIUDAD REAL',
'provincia': 'CIUDAD REAL'},
{'altitud': '485',
'indicativo': '4220X',
'indsinop': '08271',
'latitud': '390519N',
'longitud': '043659W',
'nombre': 'PUEBLA DE DON RODRIGO',
'provincia': 'CIUDAD REAL'},
{'altitud': '662',
'indicativo': '4103X',
'indsinop': '08276',
'latitud': '391009N',
'longitud': '030027W',
'nombre': 'TOMELLOSO',
'provincia': 'CIUDAD REAL'},
{'altitud': '700',
'indicativo': '4147X',
'indsinop': '08351',
'latitud': '384502N',
'longitud': '032329W',
'nombre': 'VALDEPEÑAS',
'provincia': 'CIUDAD REAL'},
{'altitud': '778',
'indicativo': '4148',
'indsinop': '08345',
'latitud': '383105N',
'longitud': '033400W',
'nombre': 'VISO DEL MARQUÉS',
'provincia': 'CIUDAD REAL'},
{'altitud': '90',
'indicativo': '5402',
'indsinop': '08410',
'latitud': '375056N',
'longitud': '045048W',
'nombre': 'CÓRDOBA AEROPUERTO',
'provincia': 'CORDOBA'},
{'altitud': '650',
'indicativo': '5427X',
'indsinop': '08412',
'latitud': '373322N',
'longitud': '042114W',
'nombre': 'DOÑA MENCÍA',
'provincia': 'CORDOBA'},
{'altitud': '551',
'indicativo': '4267X',
'indsinop': '08335',
'latitud': '382954N',
'longitud': '050717W',
'nombre': 'HINOJOSA DEL DUQUE',
'provincia': 'CORDOBA'},
{'altitud': '750',
'indicativo': '5390Y',
'indsinop': '08346',
'latitud': '381959N',
'longitud': '043632W',
'nombre': 'VILLANUEVA DE CÓRDOBA',
'provincia': 'CORDOBA'},
{'altitud': '940',
'indicativo': '3044X',
'indsinop': '08230',
'latitud': '403149N',
'longitud': '020900W',
'nombre': 'CAÑIZARES',
'provincia': 'CUENCA'},
{'altitud': '948',
'indicativo': '8096',
'indsinop': '08231',
'latitud': '400402N',
'longitud': '020755W',
'nombre': 'CUENCA',
'provincia': 'CUENCA'},
{'altitud': '728',
'indicativo': '4090Y',
'indsinop': '08256',
'latitud': '392500N',
'longitud': '022514W',
'nombre': 'SAN CLEMENTE',
'provincia': 'CUENCA'},
{'altitud': '808',
'indicativo': '3094B',
'indsinop': '08277',
'latitud': '400041N',
'longitud': '030117W',
'nombre': 'TARANCÓN',
'provincia': 'CUENCA'},
{'altitud': '251',
'indicativo': '1024E',
'indsinop': '08027',
'latitud': '431823N',
'longitud': '020228W',
'nombre': 'DONOSTIA/SAN SEBASTIÁN, IGUELDO',
'provincia': 'GIPUZKOA'},
{'altitud': '120',
'indicativo': '1050J',
'indsinop': '08036',
'latitud': '431234N',
'longitud': '022448W',
'nombre': 'ELGOIBAR',
'provincia': 'GIPUZKOA'},
{'altitud': '4',
'indicativo': '1014',
'indsinop': '08029',
'latitud': '432125N',
'longitud': '014732W',
'nombre': 'HONDARRIBIA, MALKARROA',
'provincia': 'GIPUZKOA'},
{'altitud': '4',
'indicativo': '1014A',
'indsinop': '08029',
'latitud': '432125N',
'longitud': '014732W',
'nombre': 'SAN SEBASTIÁN AEROPUERTO',
'provincia': 'GIPUZKOA'},
{'altitud': '28',
'indicativo': '1041A',
'indsinop': '08026',
'latitud': '431808N',
'longitud': '021504W',
'nombre': 'ZUMAIA',
'provincia': 'GIPUZKOA'},
{'altitud': '420',
'indicativo': '1037Y',
'indsinop': '08037',
'latitud': '430448N',
'longitud': '021904W',
'nombre': 'ZUMARRAGA',
'provincia': 'GIPUZKOA'},
{'altitud': '143',
'indicativo': '0367',
'indsinop': '08184',
'latitud': '415442N',
'longitud': '024548E',
'nombre': 'GIRONA AEROPUERTO',
'provincia': 'GIRONA'},
{'altitud': '95',
'indicativo': '0370B',
'indsinop': '',
'latitud': '415848N',
'longitud': '024931E',
'nombre': 'GIRONA, ANTIC INSTITUT',
'provincia': 'GIRONA'},
{'altitud': '1703',
'indicativo': '9585',
'indsinop': '08117',
'latitud': '421957N',
'longitud': '015622E',
'nombre': 'LA MOLINA',
'provincia': 'GIRONA'},
{'altitud': '157',
'indicativo': '0372C',
'indsinop': '08120',
'latitud': '420616N',
'longitud': '024549E',
'nombre': 'PORQUERES',
'provincia': 'GIRONA'},
{'altitud': '675',
'indicativo': '0324A',
'indsinop': '08118',
'latitud': '421129N',
'longitud': '021146E',
'nombre': 'RIPOLL',
'provincia': 'GIRONA'},
{'altitud': '785',
'indicativo': '5047E',
'indsinop': '08424',
'latitud': '373021N',
'longitud': '024406W',
'nombre': 'BAZA',
'provincia': 'GRANADA'},
{'altitud': '567',
'indicativo': '5530E',
'indsinop': '08419',
'latitud': '371123N',
'longitud': '034722W',
'nombre': 'GRANADA AEROPUERTO',
'provincia': 'GRANADA'},
{'altitud': '687',
'indicativo': '5514',
'indsinop': '08420',
'latitud': '370814N',
'longitud': '033753W',
'nombre': 'GRANADA BASE AÉREA',
'provincia': 'GRANADA'},
{'altitud': '1092',
'indicativo': '5051X',
'indsinop': '08423',
'latitud': '375140N',
'longitud': '023910W',
'nombre': 'HUÉSCAR',
'provincia': 'GRANADA'},
{'altitud': '594',
'indicativo': '5582A',
'indsinop': '08414',
'latitud': '370940N',
'longitud': '040910W',
'nombre': 'LOJA',
'provincia': 'GRANADA'},
{'altitud': '12',
'indicativo': '6268X',
'indsinop': '08485',
'latitud': '364327N',
'longitud': '033144W',
'nombre': 'MOTRIL',
'provincia': 'GRANADA'},
{'altitud': '639',
'indicativo': '3168C',
'indsinop': '08226',
'latitud': '403933N',
'longitud': '031024W',
'nombre': 'GUADALAJARA, EL SERRANILLO',
'provincia': 'GUADALAJARA'},
{'altitud': '685',
'indicativo': '3168A',
'indsinop': '',
'latitud': '403805N',
'longitud': '031000W',
'nombre': 'GUADALAJARA, INSTITUTO',
'provincia': 'GUADALAJARA'},
{'altitud': '721',
'indicativo': '3168D',
'indsinop': '08226',
'latitud': '403749N',
'longitud': '030900W',
'nombre': 'GUADALAJARA',
'provincia': 'GUADALAJARA'},
{'altitud': '1062',
'indicativo': '3013',
'indsinop': '08232',
'latitud': '405030N',
'longitud': '015244W',
'nombre': 'MOLINA DE ARAGÓN',
'provincia': 'GUADALAJARA'},
{'altitud': '1005',
'indicativo': '3130C',
'indsinop': '08150',
'latitud': '410511N',
'longitud': '023705W',
'nombre': 'SIGÜENZA',
'provincia': 'GUADALAJARA'},
{'altitud': '572',
'indicativo': '4560Y',
'indsinop': '08380',
'latitud': '375207N',
'longitud': '064030W',
'nombre': 'ALAJAR',
'provincia': 'HUELVA'},
{'altitud': '2',
'indicativo': '4549Y',
'indsinop': '08381',
'latitud': '371141N',
'longitud': '072342W',
'nombre': 'AYAMONTE',
'provincia': 'HUELVA'},
{'altitud': '19',
'indicativo': '4642E',
'indsinop': '08383',
'latitud': '371642N',
'longitud': '065442W',
'nombre': 'HUELVA, RONDA ESTE',
'provincia': 'HUELVA'},
{'altitud': '17',
'indicativo': '4605',
'indsinop': '',
'latitud': '371524N',
'longitud': '065659W',
'nombre': 'HUELVA',
'provincia': 'HUELVA'},
{'altitud': '41',
'indicativo': '5860E',
'indsinop': '08384',
'latitud': '370553N',
'longitud': '064417W',
'nombre': 'MOGUER, EL ARENOSILLO',
'provincia': 'HUELVA'},
{'altitud': '1040',
'indicativo': '9208E',
'indsinop': '08095',
'latitud': '424232N',
'longitud': '004023W',
'nombre': 'ARAGÜÉS DEL PUERTO',
'provincia': 'HUESCA'},
{'altitud': '990',
'indicativo': '9784P',
'indsinop': '08103',
'latitud': '423748N',
'longitud': '001329E',
'nombre': 'BIELSA',
'provincia': 'HUESCA'},
{'altitud': '546',
'indicativo': '9898',
'indsinop': '08094',
'latitud': '420504N',
'longitud': '001932W',
'nombre': 'HUESCA AEROPUERTO',
'provincia': 'HUESCA'},
{'altitud': '823',
'indicativo': '9201K',
'indsinop': '08091',
'latitud': '423444N',
'longitud': '003249W',
'nombre': 'JACA',
'provincia': 'HUESCA'},
{'altitud': '1020',
'indicativo': '9814A',
'indsinop': '08101',
'latitud': '423736N',
'longitud': '000642W',
'nombre': 'TORLA',
'provincia': 'HUESCA'},
{'altitud': '66',
'indicativo': 'B569X',
'indsinop': '08311',
'latitud': '394256N',
'longitud': '032841E',
'nombre': 'CAPDEPERA',
'provincia': 'ILLES BALEARS'},
{'altitud': '490',
'indicativo': 'B013X',
'indsinop': '08304',
'latitud': '394924N',
'longitud': '025309E',
'nombre': 'ESCORCA, LLUC',
'provincia': 'ILLES BALEARS'},
{'altitud': '6',
'indicativo': 'B954',
'indsinop': '08373',
'latitud': '385235N',
'longitud': '012304E',
'nombre': 'IBIZA, AEROPUERTO',
'provincia': 'ILLES BALEARS'},
{'altitud': '91',
'indicativo': 'B893',
'indsinop': '08314',
'latitud': '395117N',
'longitud': '041256E',
'nombre': 'MENORCA, AEROPUERTO',
'provincia': 'ILLES BALEARS'},
{'altitud': '8',
'indicativo': 'B278',
'indsinop': '08306',
'latitud': '393339N',
'longitud': '024412E',
'nombre': 'PALMA DE MALLORCA, AEROPUERTO',
'provincia': 'ILLES BALEARS'},
{'altitud': '3',
'indicativo': 'B228',
'indsinop': '08301',
'latitud': '393312N',
'longitud': '023731E',
'nombre': 'PALMA DE MALLORCA, PUERTO',
'provincia': 'ILLES BALEARS'},
{'altitud': '120',
'indicativo': 'B346X',
'indsinop': '08310',
'latitud': '393118N',
'longitud': '030109E',
'nombre': 'PORRERES',
'provincia': 'ILLES BALEARS'},
{'altitud': '17',
'indicativo': 'B434X',
'indsinop': '08309',
'latitud': '392452N',
'longitud': '031618E',
'nombre': 'PORTOCOLOM ',
'provincia': 'ILLES BALEARS'},
{'altitud': '40',
'indicativo': 'B691Y',
'indsinop': '08312',
'latitud': '394457N',
'longitud': '030100E',
'nombre': 'SA POBLA',
'provincia': 'ILLES BALEARS'},
{'altitud': '1030',
'indicativo': 'B248',
'indsinop': '08303',
'latitud': '394406N',
'longitud': '024247E',
'nombre': 'SIERRA DE ALFABIA, BUNYOLA',
'provincia': 'ILLES BALEARS'},
{'altitud': '202',
'indicativo': '5298X',
'indsinop': '08347',
'latitud': '380123N',
'longitud': '040350W',
'nombre': 'ANDÚJAR',
'provincia': 'JAEN'},
{'altitud': '580',
'indicativo': '5181D',
'indsinop': '08352',
'latitud': '381853N',
'longitud': '025323W',
'nombre': 'ARROYO DEL OJANCO',
'provincia': 'JAEN'},
{'altitud': '813',
'indicativo': '5038X',
'indsinop': '08353',
'latitud': '375457N',
'longitud': '030014W',
'nombre': 'CAZORLA',
'provincia': 'JAEN'},
{'altitud': '510',
'indicativo': '5270',
'indsinop': '',
'latitud': '374635N',
'longitud': '034720W',
'nombre': 'JAÉN, INSTITUTO',
'provincia': 'JAEN'},
{'altitud': '580',
'indicativo': '5270B',
'indsinop': '08417',
'latitud': '374639N',
'longitud': '034832W',
'nombre': 'JAÉN',
'provincia': 'JAEN'},
{'altitud': '770',
'indicativo': '5246',
'indsinop': '08350',
'latitud': '382040N',
'longitud': '033207W',
'nombre': 'SANTA ELENA',
'provincia': 'JAEN'},
{'altitud': '862',
'indicativo': '5192',
'indsinop': '08354',
'latitud': '382921N',
'longitud': '023815W',
'nombre': 'VILLARRODRIGO',
'provincia': 'JAEN'},
{'altitud': '353',
'indicativo': '9170',
'indsinop': '08084',
'latitud': '422708N',
'longitud': '021952W',
'nombre': 'LOGROÑO AEROPUERTO',
'provincia': 'LA RIOJA'},
{'altitud': '25',
'indicativo': 'C249I',
'indsinop': '60035',
'latitud': '282641N',
'longitud': '135147W',
'nombre': 'FUERTEVENTURA AEROPUERTO',
'provincia': 'LAS PALMAS'},
{'altitud': '32',
'indicativo': 'C649I',
'indsinop': '60030',
'latitud': '275504N',
'longitud': '152343W',
'nombre': 'GRAN CANARIA AEROPUERTO',
'provincia': 'LAS PALMAS'},
{'altitud': '10',
'indicativo': 'C619I',
'indsinop': '60027',
'latitud': '280003N',
'longitud': '154850W',
'nombre': 'LA ALDEA DE SAN NICOLÁS',
'provincia': 'LAS PALMAS'},
{'altitud': '14',
'indicativo': 'C029O',
'indsinop': '60040',
'latitud': '285707N',
'longitud': '133601W',
'nombre': 'LANZAROTE AEROPUERTO',
'provincia': 'LAS PALMAS'},
{'altitud': '15',
'indicativo': 'C659M',
'indsinop': '60032',
'latitud': '280647N',
'longitud': '152517W',
'nombre': 'LAS PALMAS DE GRAN CANARIA, PL. DE LA FERIA',
'provincia': 'LAS PALMAS'},
{'altitud': '55',
'indicativo': 'C659H',
'indsinop': '60029',
'latitud': '280523N',
'longitud': '152458W',
'nombre': 'LAS PALMAS DE GRAN CANARIA, SAN CRISTOBAL',
'provincia': 'LAS PALMAS'},
{'altitud': '6',
'indicativo': 'C689E',
'indsinop': '60037',
'latitud': '274409N',
'longitud': '153545W',
'nombre': 'MASPALOMAS',
'provincia': 'LAS PALMAS'},
{'altitud': '10',
'indicativo': 'C629X',
'indsinop': '60036',
'latitud': '274859N',
'longitud': '154551W',
'nombre': 'MOGÁN, PUERTO',
'provincia': 'LAS PALMAS'},
{'altitud': '15',
'indicativo': 'C229J',
'indsinop': '60034',
'latitud': '280257N',
'longitud': '142129W',
'nombre': 'PÁJARA',
'provincia': 'LAS PALMAS'},
{'altitud': '10',
'indicativo': 'C839I',
'indsinop': '',
'latitud': '291355N',
'longitud': '133007W',
'nombre': 'TEGUISE',
'provincia': 'LAS PALMAS'},
{'altitud': '1020',
'indicativo': '2737E',
'indsinop': '08123',
'latitud': '422239N',
'longitud': '061148W',
'nombre': 'LAGUNAS DE SOMOZA',
'provincia': 'LEON'},
{'altitud': '912',
'indicativo': '2661B',
'indsinop': '08055',
'latitud': '423558N',
'longitud': '053837W',
'nombre': 'LEÓN AEROPUERTO',
'provincia': 'LEON'},
{'altitud': '916',
'indicativo': '2661',
'indsinop': '08055',
'latitud': '423518N',
'longitud': '053904W',
'nombre': 'LEÓN, VIRGEN DEL CAMINO',
'provincia': 'LEON'},
{'altitud': '534',
'indicativo': '1549',
'indsinop': '08053',
'latitud': '423350N',
'longitud': '063600W',
'nombre': 'PONFERRADA',
'provincia': 'LEON'},
{'altitud': '1510',
'indicativo': '2630X',
'indsinop': '08057',
'latitud': '430344N',
'longitud': '052237W',
'nombre': 'PUERTO DE SAN ISIDRO',
'provincia': 'LEON'},
{'altitud': '677',
'indicativo': '9619',
'indsinop': '08115',
'latitud': '422117N',
'longitud': '012747E',
'nombre': "LA SEU D'URGELL",
'provincia': 'LLEIDA'},
{'altitud': '199',
'indicativo': '9771',
'indsinop': '',
'latitud': '413702N',
'longitud': '003716E',
'nombre': 'LLEIDA, OBSERVATORIO',
'provincia': 'LLEIDA'},
{'altitud': '185',
'indicativo': '9771C',
'indsinop': '08171',
'latitud': '413734N',
'longitud': '003553E',
'nombre': 'LLEIDA',
'provincia': 'LLEIDA'},
{'altitud': '1161',
'indicativo': '9990X',
'indsinop': '08107',
'latitud': '424201N',
'longitud': '005237E',
'nombre': 'NAUT ARAN, ARTIES ',
'provincia': 'LLEIDA'},
{'altitud': '807',
'indicativo': '9698U',
'indsinop': '08112',
'latitud': '421219N',
'longitud': '005155E',
'nombre': 'TALARN',
'provincia': 'LLEIDA'},
{'altitud': '388',
'indicativo': '9720X',
'indsinop': '08173',
'latitud': '413902N',
'longitud': '010858E',
'nombre': 'TÀRREGA',
'provincia': 'LLEIDA'},
{'altitud': '445',
'indicativo': '1505',
'indsinop': '08008',
'latitud': '430641N',
'longitud': '072727W',
'nombre': 'LUGO AEROPUERTO',
'provincia': 'LUGO'},
{'altitud': '540',
'indicativo': '3100B',
'indsinop': '08229',
'latitud': '400402N',
'longitud': '033246W',
'nombre': 'ARANJUEZ',
'provincia': 'MADRID'},
{'altitud': '1026',
'indicativo': '3110C',
'indsinop': '08146',
'latitud': '410025N',
'longitud': '033649W',
'nombre': 'BUITRAGO DEL LOZOYA',
'provincia': 'MADRID'},
{'altitud': '1004',
'indicativo': '3191E',
'indsinop': '08219',
'latitud': '404146N',
'longitud': '034554W',
'nombre': 'COLMENAR VIEJO',
'provincia': 'MADRID'},
{'altitud': '620',
'indicativo': '3200',
'indsinop': '08224',
'latitud': '401758N',
'longitud': '034320W',
'nombre': 'GETAFE',
'provincia': 'MADRID'},
{'altitud': '609',
'indicativo': '3129',
'indsinop': '08221',
'latitud': '402800N',
'longitud': '033320W',
'nombre': 'MADRID AEROPUERTO',
'provincia': 'MADRID'},
{'altitud': '664',
'indicativo': '3194U',
'indsinop': '08220',
'latitud': '402706N',
'longitud': '034327W',
'nombre': 'MADRID, CIUDAD UNIVERSITARIA',
'provincia': 'MADRID'},
{'altitud': '690',
'indicativo': '3196',
'indsinop': '08223',
'latitud': '402232N',
'longitud': '034710W',
'nombre': 'MADRID, CUATRO VIENTOS',
'provincia': 'MADRID'},
{'altitud': '667',
'indicativo': '3195',
'indsinop': '08222',
'latitud': '402443N',
'longitud': '034041W',
'nombre': 'MADRID, RETIRO',
'provincia': 'MADRID'},
{'altitud': '1532',
'indicativo': '3266A',
'indsinop': '08217',
'latitud': '404223N',
'longitud': '040831W',
'nombre': 'PUERTO ALTO DEL LEÓN',
'provincia': 'MADRID'},
{'altitud': '1894',
'indicativo': '2462',
'indsinop': '08215',
'latitud': '404735N',
'longitud': '040038W',
'nombre': 'PUERTO DE NAVACERRADA',
'provincia': 'MADRID'},
{'altitud': '790',
'indicativo': '3338',
'indsinop': '08212',
'latitud': '402540N',
'longitud': '041500W',
'nombre': 'ROBLEDO DE CHAVELA',
'provincia': 'MADRID'},
{'altitud': '1450',
'indicativo': '3111D',
'indsinop': '08145',
'latitud': '410808N',
'longitud': '033449W',
'nombre': 'SOMOSIERRA',
'provincia': 'MADRID'},
{'altitud': '607',
'indicativo': '3175',
'indsinop': '08227',
'latitud': '402919N',
'longitud': '032637W',
'nombre': 'TORREJÓN DE ARDOZ',
'provincia': 'MADRID'},
{'altitud': '408',
'indicativo': '6106X',
'indsinop': '08413',
'latitud': '370146N',
'longitud': '044454W',
'nombre': 'ANTEQUERA',
'provincia': 'MALAGA'},
{'altitud': '11',
'indicativo': '6058I',
'indsinop': '08463',
'latitud': '362501N',
'longitud': '050918W',
'nombre': 'ESTEPONA',
'provincia': 'MALAGA'},
{'altitud': '8',
'indicativo': '6084X',
'indsinop': '08480',
'latitud': '363219N',
'longitud': '043706W',
'nombre': 'FUENGIROLA',
'provincia': 'MALAGA'},
{'altitud': '5',
'indicativo': '6155A',
'indsinop': '08482',
'latitud': '363958N',
'longitud': '042856W',
'nombre': 'MÁLAGA AEROPUERTO',
'provincia': 'MALAGA'},
{'altitud': '54',
'indicativo': '6156X',
'indsinop': '08481',
'latitud': '364304N',
'longitud': '042854W',
'nombre': 'MÁLAGA, CENTRO METEOROLÓGICO',
'provincia': 'MALAGA'},
{'altitud': '25',
'indicativo': '6172O',
'indsinop': '08479',
'latitud': '364300N',
'longitud': '042511W',
'nombre': 'MÁLAGA, PUERTO',
'provincia': 'MALAGA'},
{'altitud': '766',
'indicativo': '6032B',
'indsinop': '08443',
'latitud': '364459N',
'longitud': '051006W',
'nombre': 'RONDA',
'provincia': 'MALAGA'},
{'altitud': '3',
'indicativo': '6205X',
'indsinop': '08484',
'latitud': '364335N',
'longitud': '035726W',
'nombre': 'TORROX',
'provincia': 'MALAGA'},
{'altitud': '52',
'indicativo': '6000A',
'indsinop': '60338',
'latitud': '351635N',
'longitud': '025723W',
'nombre': 'MELILLA',
'provincia': 'MELILLA'},
{'altitud': '26',
'indicativo': '7002Y',
'indsinop': '08432',
'latitud': '372502N',
'longitud': '013513W',
'nombre': 'ÁGUILAS',
'provincia': 'MURCIA'},
{'altitud': '75',
'indicativo': '7228',
'indsinop': '08429',
'latitud': '375728N',
'longitud': '011343W',
'nombre': 'ALCANTARILLA, BASE AÉREA',
'provincia': 'MURCIA'},
{'altitud': '643',
'indicativo': '7119B',
'indsinop': '08365',
'latitud': '380609N',
'longitud': '015238W',
'nombre': 'CARAVACA DE LA CRUZ',
'provincia': 'MURCIA'},
{'altitud': '17',
'indicativo': '7012C',
'indsinop': '08434',
'latitud': '373604N',
'longitud': '005916W',
'nombre': 'CARTAGENA',
'provincia': 'MURCIA'},
{'altitud': '265',
'indicativo': '7145D',
'indsinop': '08363',
'latitud': '381358N',
'longitud': '012250W',
'nombre': 'CIEZA',
'provincia': 'MURCIA'},
{'altitud': '312',
'indicativo': '7209',
'indsinop': '08426',
'latitud': '373917N',
'longitud': '014114W',
'nombre': 'LORCA',
'provincia': 'MURCIA'},
{'altitud': '61',
'indicativo': '7178I',
'indsinop': '08430',
'latitud': '380007N',
'longitud': '011015W',
'nombre': 'MURCIA',
'provincia': 'MURCIA'},
{'altitud': '4',
'indicativo': '7031',
'indsinop': '08433',
'latitud': '374720N',
'longitud': '004812W',
'nombre': 'SAN JAVIER AEROPUERTO',
'provincia': 'MURCIA'},
{'altitud': '4',
'indicativo': '7031X',
'indsinop': '08433',
'latitud': '374642N',
'longitud': '004821W',
'nombre': 'SAN JAVIER AEROPUERTO',
'provincia': 'MURCIA'},
{'altitud': '640',
'indicativo': '7275C',
'indsinop': '08356',
'latitud': '383606N',
'longitud': '010935W',
'nombre': 'YECLA',
'provincia': 'MURCIA'},
{'altitud': '572',
'indicativo': '9263X',
'indsinop': '08089',
'latitud': '424634N',
'longitud': '013157W',
'nombre': 'ARANGUREN, ILUNDAIN ',
'provincia': 'NAVARRA'},
{'altitud': '295',
'indicativo': '9294E',
'indsinop': '08087',
'latitud': '421155N',
'longitud': '012831W',
'nombre': 'BARDENAS REALES, BASE AÉREA ',
'provincia': 'NAVARRA'},
{'altitud': '183',
'indicativo': '1002Y',
'indsinop': '08030',
'latitud': '430809N',
'longitud': '013235W',
'nombre': 'BAZTAN, IRURITA ',
'provincia': 'NAVARRA'},
{'altitud': '268',
'indicativo': '9283X',
'indsinop': '08153',
'latitud': '421225N',
'longitud': '014241W',
'nombre': 'CADREITA',
'provincia': 'NAVARRA'},
{'altitud': '459',
'indicativo': '9263D',
'indsinop': '08085',
'latitud': '424637N',
'longitud': '013900W',
'nombre': 'PAMPLONA AEROPUERTO',
'provincia': 'NAVARRA'},
{'altitud': '450',
'indicativo': '9262',
'indsinop': '',
'latitud': '424904N',
'longitud': '013818W',
'nombre': 'PAMPLONA',
'provincia': 'NAVARRA'},
{'altitud': '840',
'indicativo': '1631E',
'indsinop': '08051',
'latitud': '422022N',
'longitud': '071657W',
'nombre': 'A POBRA DE TRIVES',
'provincia': 'OURENSE'},
{'altitud': '400',
'indicativo': '1700X',
'indsinop': '08047',
'latitud': '422517N',
'longitud': '080533W',
'nombre': 'CARBALLIÑO, O',
'provincia': 'OURENSE'},
{'altitud': '148',
'indicativo': '1690B',
'indsinop': '',
'latitud': '421956N',
'longitud': '075152W',
'nombre': 'OURENSE,INSTITUTO',
'provincia': 'OURENSE'},
{'altitud': '143',
'indicativo': '1690A',
'indsinop': '08048',
'latitud': '421931N',
'longitud': '075135W',
'nombre': 'OURENSE',
'provincia': 'OURENSE'},
{'altitud': '616',
'indicativo': '1735X',
'indsinop': '08050',
'latitud': '420445N',
'longitud': '074401W',
'nombre': 'XINZO DE LIMIA',
'provincia': 'OURENSE'},
{'altitud': '874',
'indicativo': '2400E',
'indsinop': '08072',
'latitud': '415944N',
'longitud': '043610W',
'nombre': 'AUTILLA DEL PINO',
'provincia': 'PALENCIA'},
{'altitud': '830',
'indicativo': '2374X',
'indsinop': '08068',
'latitud': '422103N',
'longitud': '043702W',
'nombre': 'CARRIÓN DE LOS CONDES',
'provincia': 'PALENCIA'},
{'altitud': '1140',
'indicativo': '2235U',
'indsinop': '08058',
'latitud': '425214N',
'longitud': '043112W',
'nombre': 'CERVERA DE PISUERGA',
'provincia': 'PALENCIA'},
{'altitud': '750',
'indicativo': '2401',
'indsinop': '',
'latitud': '420018N',
'longitud': '043145W',
'nombre': 'PALENCIA, OBSERVATORIO',
'provincia': 'PALENCIA'},
{'altitud': '19',
'indicativo': '1484',
'indsinop': '',
'latitud': '422550N',
'longitud': '083850W',
'nombre': 'PONTEVEDRA, INSTITUTO',
'provincia': 'PONTEVEDRA'},
{'altitud': '108',
'indicativo': '1484C',
'indsinop': '08044',
'latitud': '422618N',
'longitud': '083657W',
'nombre': 'PONTEVEDRA',
'provincia': 'PONTEVEDRA'},
{'altitud': '261',
'indicativo': '1495',
'indsinop': '08045',
'latitud': '421419N',
'longitud': '083726W',
'nombre': 'VIGO AEROPUERTO',
'provincia': 'PONTEVEDRA'},
{'altitud': '1960',
'indicativo': '2491C',
'indsinop': '08205',
'latitud': '402118N',
'longitud': '054124W',
'nombre': 'LA COVATILLA, ESTACIÓN DE ESQUÍ',
'provincia': 'SALAMANCA'},
{'altitud': '680',
'indicativo': '2946X',
'indsinop': '08195',
'latitud': '403806N',
'longitud': '063600W',
'nombre': 'SAELICES EL CHICO',
'provincia': 'SALAMANCA'},
{'altitud': '790',
'indicativo': '2867',
'indsinop': '08202',
'latitud': '405734N',
'longitud': '052954W',
'nombre': 'SALAMANCA AEROPUERTO',
'provincia': 'SALAMANCA'},
{'altitud': '775',
'indicativo': '2870',
'indsinop': '08201',
'latitud': '405727N',
'longitud': '053944W',
'nombre': 'SALAMANCA',
'provincia': 'SALAMANCA'},
{'altitud': '769',
'indicativo': '2916A',
'indsinop': '08129',
'latitud': '410041N',
'longitud': '062616W',
'nombre': 'VITIGUDINO',
'provincia': 'SALAMANCA'},
{'altitud': '1860',
'indicativo': '2150H',
'indsinop': '08143',
'latitud': '411131N',
'longitud': '032831W',
'nombre': 'LA PINILLA, ESTACIÓN DE ESQUÍ',
'provincia': 'SEGOVIA'},
{'altitud': '990',
'indicativo': '2465A',
'indsinop': '',
'latitud': '405648N',
'longitud': '040657W',
'nombre': 'SEGOVIA, INSTITUTO',
'provincia': 'SEGOVIA'},
{'altitud': '1005',
'indicativo': '2465',
'indsinop': '08213',
'latitud': '405643N',
'longitud': '040735W',
'nombre': 'SEGOVIA',
'provincia': 'SEGOVIA'},
{'altitud': '550',
'indicativo': '5704B',
'indsinop': '08392',
'latitud': '375535N',
'longitud': '054611W',
'nombre': 'CAZALLA DE LA SIERRA',
'provincia': 'SEVILLA'},
{'altitud': '130',
'indicativo': '5641X',
'indsinop': '08395',
'latitud': '373058N',
'longitud': '050506W',
'nombre': 'ÉCIJA',
'provincia': 'SEVILLA'},
{'altitud': '410',
'indicativo': '5612B',
'indsinop': '08399',
'latitud': '371140N',
'longitud': '044612W',
'nombre': 'LA RODA DE ANDALUCÍA',
'provincia': 'SEVILLA'},
{'altitud': '87',
'indicativo': '5796',
'indsinop': '08397',
'latitud': '370952N',
'longitud': '053641W',
'nombre': 'MORÓN DE LA FRONTERA',
'provincia': 'SEVILLA'},
{'altitud': '34',
'indicativo': '5783',
'indsinop': '08391',
'latitud': '372500N',
'longitud': '055245W',
'nombre': 'SEVILLA AEROPUERTO',
'provincia': 'SEVILLA'},
{'altitud': '1082',
'indicativo': '2030',
'indsinop': '08148',
'latitud': '414630N',
'longitud': '022859W',
'nombre': 'SORIA',
'provincia': 'SORIA'},
{'altitud': '115',
'indicativo': 'C439J',
'indsinop': '60018',
'latitud': '281906N',
'longitud': '162256W',
'nombre': 'GÜÍMAR',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '32',
'indicativo': 'C929I',
'indsinop': '60001',
'latitud': '274908N',
'longitud': '175320W',
'nombre': 'HIERRO AEROPUERTO',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '2371',
'indicativo': 'C430E',
'indsinop': '60010',
'latitud': '281832N',
'longitud': '162958W',
'nombre': 'IZAÑA',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '33',
'indicativo': 'C139E',
'indsinop': '60005',
'latitud': '283759N',
'longitud': '174518W',
'nombre': 'LA PALMA AEROPUERTO',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '25',
'indicativo': 'C459Z',
'indsinop': '60012',
'latitud': '282505N',
'longitud': '163253W',
'nombre': 'PUERTO DE LA CRUZ',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '15',
'indicativo': 'C329Z',
'indsinop': '60008',
'latitud': '280523N',
'longitud': '170641W',
'nombre': 'SAN SEBASTIÁN DE LA GOMERA',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '35',
'indicativo': 'C449C',
'indsinop': '60020',
'latitud': '282748N',
'longitud': '161519W',
'nombre': 'STA.CRUZ DE TENERIFE',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '62',
'indicativo': 'C129Z',
'indsinop': '60004',
'latitud': '283545N',
'longitud': '175455W',
'nombre': 'TAZACORTE',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '632',
'indicativo': 'C447A',
'indsinop': '60015',
'latitud': '282839N',
'longitud': '161946W',
'nombre': 'TENERIFE NORTE AEROPUERTO',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '64',
'indicativo': 'C429I',
'indsinop': '60025',
'latitud': '280249N',
'longitud': '163340W',
'nombre': 'TENERIFE SUR AEROPUERTO',
'provincia': 'STA. CRUZ DE TENERIFE'},
{'altitud': '71',
'indicativo': '0016A',
'indsinop': '08175',
'latitud': '410842N',
'longitud': '010949E',
'nombre': 'REUS AEROPUERTO',
'provincia': 'TARRAGONA'},
{'altitud': '1',
'indicativo': '9987P',
'indsinop': '08240',
'latitud': '404157N',
'longitud': '004836E',
'nombre': "SANT JAUME D'ENVEJA",
'provincia': 'TARRAGONA'},
{'altitud': '50',
'indicativo': '9981A',
'indsinop': '08238',
'latitud': '404913N',
'longitud': '002936E',
'nombre': 'TORTOSA',
'provincia': 'TARRAGONA'},
{'altitud': '32',
'indicativo': '0002I',
'indsinop': '08169',
'latitud': '405729N',
'longitud': '005217E',
'nombre': 'VANDELLÒS ',
'provincia': 'TARRAGONA'},
{'altitud': '334',
'indicativo': '9573X',
'indsinop': '08164',
'latitud': '410329N',
'longitud': '000830W',
'nombre': 'ALCAÑIZ',
'provincia': 'TERUEL'},
{'altitud': '932',
'indicativo': '9381',
'indsinop': '',
'latitud': '405154N',
'longitud': '011818W',
'nombre': 'CALAMOCHA, AERÓDROMO',
'provincia': 'TERUEL'},
{'altitud': '890',
'indicativo': '9381I',
'indsinop': '08233',
'latitud': '405534N',
'longitud': '011736W',
'nombre': 'CALAMOCHA',
'provincia': 'TERUEL'},
{'altitud': '466',
'indicativo': '9569A',
'indsinop': '08166',
'latitud': '405648N',
'longitud': '001416W',
'nombre': 'CALANDA',
'provincia': 'TERUEL'},
{'altitud': '900',
'indicativo': '8368U',
'indsinop': '08235',
'latitud': '402102N',
'longitud': '010727W',
'nombre': 'TERUEL',
'provincia': 'TERUEL'},
{'altitud': '690',
'indicativo': '4067',
'indsinop': '08273',
'latitud': '392931N',
'longitud': '033142W',
'nombre': 'MADRIDEJOS',
'provincia': 'TOLEDO'},
{'altitud': '691',
'indicativo': '4061X',
'indsinop': '08275',
'latitud': '393551N',
'longitud': '030249W',
'nombre': 'QUINTANAR DE LA ORDEN',
'provincia': 'TOLEDO'},
{'altitud': '917',
'indicativo': '3298X',
'indsinop': '08270',
'latitud': '393249N',
'longitud': '042102W',
'nombre': 'SAN PABLO DE LOS MONTES',
'provincia': 'TOLEDO'},
{'altitud': '372',
'indicativo': '3365A',
'indsinop': '08274',
'latitud': '395731N',
'longitud': '045149W',
'nombre': 'TALAVERA DE LA REINA',
'provincia': 'TOLEDO'},
{'altitud': '540',
'indicativo': '3259',
'indsinop': '',
'latitud': '395134N',
'longitud': '040132W',
'nombre': 'TOLEDO, LORENZANA',
'provincia': 'TOLEDO'},
{'altitud': '515',
'indicativo': '3260B',
'indsinop': '08272',
'latitud': '395305N',
'longitud': '040243W',
'nombre': 'TOLEDO',
'provincia': 'TOLEDO'},
{'altitud': '5',
'indicativo': '8058X',
'indsinop': '08282',
'latitud': '385544N',
'longitud': '000545W',
'nombre': 'OLIVA',
'provincia': 'VALENCIA'},
{'altitud': '12',
'indicativo': '8325X',
'indsinop': '08287',
'latitud': '391105N',
'longitud': '002219W',
'nombre': 'POLINYÀ DE XÚQUER',
'provincia': 'VALENCIA'},
{'altitud': '758',
'indicativo': '8309X',
'indsinop': '08281',
'latitud': '393432N',
'longitud': '011441W',
'nombre': 'UTIEL',
'provincia': 'VALENCIA'},
{'altitud': '56',
'indicativo': '8414A',
'indsinop': '08284',
'latitud': '392906N',
'longitud': '002829W',
'nombre': 'VALENCIA AEROPUERTO',
'provincia': 'VALENCIA'},
{'altitud': '11',
'indicativo': '8416',
'indsinop': '08285',
'latitud': '392850N',
'longitud': '002159W',
'nombre': 'VALENCIA',
'provincia': 'VALENCIA'},
{'altitud': '11',
'indicativo': '8416Y',
'indsinop': '08285',
'latitud': '392850N',
'longitud': '002159W',
'nombre': 'VALENCIA',
'provincia': 'VALENCIA'},
{'altitud': '88',
'indicativo': '8293X',
'indsinop': '08290',
'latitud': '390006N',
'longitud': '003125W',
'nombre': 'XÀTIVA',
'provincia': 'VALENCIA'},
{'altitud': '740',
'indicativo': '2503X',
'indsinop': '08142',
'latitud': '411933N',
'longitud': '044113W',
'nombre': 'OLMEDO',
'provincia': 'VALLADOLID'},
{'altitud': '846',
'indicativo': '2539',
'indsinop': '08140',
'latitud': '414243N',
'longitud': '045120W',
'nombre': 'VALLADOLID AEROPUERTO',
'provincia': 'VALLADOLID'},
{'altitud': '735',
'indicativo': '2422',
'indsinop': '08141',
'latitud': '413827N',
'longitud': '044516W',
'nombre': 'VALLADOLID',
'provincia': 'VALLADOLID'},
{'altitud': '715',
'indicativo': '2755X',
'indsinop': '08056',
'latitud': '420039N',
'longitud': '054000W',
'nombre': 'BENAVENTE',
'provincia': 'ZAMORA'},
{'altitud': '850',
'indicativo': '2775X',
'indsinop': '08125',
'latitud': '415629N',
'longitud': '061647W',
'nombre': 'VILLARDECIERVOS',
'provincia': 'ZAMORA'},
{'altitud': '656',
'indicativo': '2614',
'indsinop': '08130',
'latitud': '413056N',
'longitud': '054407W',
'nombre': 'ZAMORA',
'provincia': 'ZAMORA'},
{'altitud': '357',
'indicativo': '9576C',
'indsinop': '08165',
'latitud': '413121N',
'longitud': '001028W',
'nombre': 'BUJARALOZ',
'provincia': 'ZARAGOZA'},
{'altitud': '600',
'indicativo': '9394X',
'indsinop': '08156',
'latitud': '411952N',
'longitud': '013843W',
'nombre': 'CALATAYUD',
'provincia': 'ZARAGOZA'},
{'altitud': '779',
'indicativo': '9390',
'indsinop': '08157',
'latitud': '410652N',
'longitud': '012436W',
'nombre': 'DAROCA',
'provincia': 'ZARAGOZA'},
{'altitud': '626',
'indicativo': '9244X',
'indsinop': '08090',
'latitud': '422927N',
'longitud': '011249W',
'nombre': 'SOS DEL REY CATÓLICO',
'provincia': 'ZARAGOZA'},
{'altitud': '249',
'indicativo': '9434',
'indsinop': '08160',
'latitud': '413938N',
'longitud': '010015W',
'nombre': 'ZARAGOZA AEROPUERTO',
'provincia': 'ZARAGOZA'},
{'altitud': '254',
'indicativo': '9434P',
'indsinop': '08159',
'latitud': '413715N',
'longitud': '005606W',
'nombre': 'ZARAGOZA, VALDESPARTERA',
'provincia': 'ZARAGOZA'}]
In [8]:
url = ("https://opendata.aemet.es/opendata/api/valores/climatologicos/diarios/datos"
"/fechaini/2017-01-01T00:00:00UTC/fechafin/2017-01-31T23:59:59UTC/estacion/1111X")
r = requests.get(url, params=querystring, verify=False)
if r.status_code == requests.codes.OK:
data_url = r.json()['datos']
r_data = requests.get(data_url, params=querystring, verify=False)
raw_data = r_data.json()
raw_data
Out[8]:
[{'altitud': '52',
'dir': '21',
'fecha': '2017-01-01',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '07:30',
'horatmax': '13:40',
'horatmin': '07:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1022,0',
'presMin': '1010,6',
'provincia': 'CANTABRIA',
'racha': '6,4',
'sol': '7,0',
'tmax': '12,9',
'tmed': '9,3',
'tmin': '5,7',
'velmedia': '2,8'},
{'altitud': '52',
'dir': '18',
'fecha': '2017-01-02',
'horaPresMax': '24',
'horaPresMin': 'Varias',
'horaracha': '06:30',
'horatmax': '11:30',
'horatmin': '02:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1015,4',
'presMin': '1009,8',
'provincia': 'CANTABRIA',
'racha': '10,8',
'sol': '6,6',
'tmax': '14,1',
'tmed': '10,3',
'tmin': '6,5',
'velmedia': '5,0'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-03',
'horaPresMax': '23',
'horaPresMin': '01',
'horaracha': '02:20',
'horatmax': '12:20',
'horatmin': '08:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1020,9',
'presMin': '1015,1',
'provincia': 'CANTABRIA',
'racha': '13,6',
'sol': '7,2',
'tmax': '10,6',
'tmed': '8,4',
'tmin': '6,3',
'velmedia': '6,7'},
{'altitud': '52',
'dir': '07',
'fecha': '2017-01-04',
'horaPresMax': 'Varias',
'horaPresMin': '00',
'horaracha': '13:40',
'horatmax': '12:40',
'horatmin': '04:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1022,4',
'presMin': '1020,5',
'provincia': 'CANTABRIA',
'racha': '7,5',
'sol': '1,8',
'tmax': '10,8',
'tmed': '8,2',
'tmin': '5,5',
'velmedia': '3,6'},
{'altitud': '52',
'dir': '10',
'fecha': '2017-01-05',
'horaPresMax': 'Varias',
'horaPresMin': '01',
'horaracha': '12:30',
'horatmax': '13:20',
'horatmin': '07:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1025,0',
'presMin': '1022,0',
'provincia': 'CANTABRIA',
'racha': '13,3',
'sol': '8,5',
'tmax': '10,6',
'tmed': '8,0',
'tmin': '5,4',
'velmedia': '6,9'},
{'altitud': '52',
'dir': '09',
'fecha': '2017-01-06',
'horaPresMax': '23',
'horaPresMin': '06',
'horaracha': 'Varias',
'horatmax': '12:20',
'horatmin': 'Varias',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1026,4',
'presMin': '1024,1',
'provincia': 'CANTABRIA',
'racha': '14,2',
'sol': '8,6',
'tmax': '9,2',
'tmed': '6,7',
'tmin': '4,2',
'velmedia': '7,8'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-07',
'horaPresMax': '10',
'horaPresMin': '14',
'horaracha': '14:50',
'horatmax': '13:10',
'horatmin': '05:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1027,3',
'presMin': '1025,4',
'provincia': 'CANTABRIA',
'racha': '9,4',
'sol': '8,3',
'tmax': '10,3',
'tmed': '6,6',
'tmin': '2,8',
'velmedia': '5,3'},
{'altitud': '52',
'dir': '10',
'fecha': '2017-01-08',
'horaPresMax': 'Varias',
'horaPresMin': '06',
'horaracha': '15:50',
'horatmax': '13:20',
'horatmin': '07:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1027,3',
'presMin': '1025,4',
'provincia': 'CANTABRIA',
'racha': '13,6',
'sol': '8,7',
'tmax': '11,5',
'tmed': '7,8',
'tmin': '4,0',
'velmedia': '5,3'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-09',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '14:10',
'horatmax': '13:30',
'horatmin': '06:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '9,4',
'presMax': '1025,8',
'presMin': '1017,5',
'provincia': 'CANTABRIA',
'racha': '8,1',
'sol': '8,0',
'tmax': '13,8',
'tmed': '10,3',
'tmin': '6,8',
'velmedia': '2,2'},
{'altitud': '52',
'dir': '30',
'fecha': '2017-01-10',
'horaPresMax': '00',
'horaPresMin': '05',
'horaracha': '06:50',
'horatmax': '03:30',
'horatmin': '00:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '11,2',
'presMax': '1017,5',
'presMin': '1013,1',
'provincia': 'CANTABRIA',
'racha': '19,7',
'sol': '0,0',
'tmax': '12,0',
'tmed': '10,8',
'tmin': '9,7',
'velmedia': '9,4'},
{'altitud': '52',
'dir': '28',
'fecha': '2017-01-11',
'horaPresMax': 'Varias',
'horaPresMin': '03',
'horaracha': '06:30',
'horatmax': 'Varias',
'horatmin': '00:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,2',
'presMax': '1020,7',
'presMin': '1016,3',
'provincia': 'CANTABRIA',
'racha': '16,7',
'sol': '0,0',
'tmax': '12,9',
'tmed': '12,0',
'tmin': '11,2',
'velmedia': '8,3'},
{'altitud': '52',
'dir': '30',
'fecha': '2017-01-12',
'horaPresMax': '00',
'horaPresMin': '15',
'horaracha': '19:40',
'horatmax': '18:20',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '3,4',
'presMax': '1020,1',
'presMin': '1011,5',
'provincia': 'CANTABRIA',
'racha': '23,9',
'sol': '0,1',
'tmax': '13,4',
'tmed': '11,8',
'tmin': '10,1',
'velmedia': '4,7'},
{'altitud': '52',
'dir': '31',
'fecha': '2017-01-13',
'horaPresMax': '23',
'horaPresMin': '00',
'horaracha': '00:50',
'horatmax': '13:00',
'horatmin': '08:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '3,4',
'presMax': '1020,4',
'presMin': '1015,4',
'provincia': 'CANTABRIA',
'racha': '25,3',
'sol': '3,3',
'tmax': '10,7',
'tmed': '9,2',
'tmin': '7,7',
'velmedia': '10,8'},
{'altitud': '52',
'dir': '34',
'fecha': '2017-01-14',
'horaPresMax': '23',
'horaPresMin': '00',
'horaracha': '20:20',
'horatmax': 'Varias',
'horatmin': '05:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '8,4',
'presMax': '1024,0',
'presMin': '1020,2',
'provincia': 'CANTABRIA',
'racha': '21,7',
'sol': '2,2',
'tmax': '10,3',
'tmed': '8,5',
'tmin': '6,7',
'velmedia': '7,5'},
{'altitud': '52',
'dir': '36',
'fecha': '2017-01-15',
'horaPresMax': '11',
'horaPresMin': '02',
'horaracha': '04:10',
'horatmax': '12:00',
'horatmin': '04:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '4,0',
'presMax': '1025,3',
'presMin': '1023,4',
'provincia': 'CANTABRIA',
'racha': '15,8',
'sol': '0,1',
'tmax': '11,6',
'tmed': '10,3',
'tmin': '9,0',
'velmedia': '7,8'},
{'altitud': '52',
'dir': '31',
'fecha': '2017-01-16',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '03:40',
'horatmax': '13:00',
'horatmin': '04:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '8,2',
'presMax': '1023,6',
'presMin': '1019,5',
'provincia': 'CANTABRIA',
'racha': '16,4',
'sol': '0,1',
'tmax': '12,1',
'tmed': '11,0',
'tmin': '10,0',
'velmedia': '7,8'},
{'altitud': '52',
'dir': '03',
'fecha': '2017-01-17',
'horaPresMax': '10',
'horaPresMin': '02',
'horaracha': '02:20',
'horatmax': '01:00',
'horatmin': '16:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1023,5',
'presMin': '1018,7',
'provincia': 'CANTABRIA',
'racha': '14,4',
'sol': '4,1',
'tmax': '11,0',
'tmed': '8,6',
'tmin': '6,2',
'velmedia': '6,9'},
{'altitud': '52',
'dir': '04',
'fecha': '2017-01-18',
'horaPresMax': '10',
'horaPresMin': '14',
'horaracha': '03:30',
'horatmax': '00:00',
'horatmin': '15:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 'Ip',
'presMax': '1021,7',
'presMin': '1019,7',
'provincia': 'CANTABRIA',
'racha': '13,9',
'sol': '0,0',
'tmax': '6,7',
'tmed': '5,6',
'tmin': '4,5',
'velmedia': '6,4'},
{'altitud': '52',
'dir': '10',
'fecha': '2017-01-19',
'horaPresMax': '00',
'horaPresMin': 'Varias',
'horaracha': '18:10',
'horatmax': '13:50',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1020,0',
'presMin': '1017,7',
'provincia': 'CANTABRIA',
'racha': '10,6',
'sol': '3,4',
'tmax': '8,3',
'tmed': '5,6',
'tmin': '2,8',
'velmedia': '3,6'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-20',
'horaPresMax': '02',
'horaPresMin': 'Varias',
'horaracha': '16:00',
'horatmax': '12:40',
'horatmin': '07:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1018,2',
'presMin': '1015,1',
'provincia': 'CANTABRIA',
'racha': '11,7',
'sol': '8,6',
'tmax': '8,7',
'tmed': '5,4',
'tmin': '2,2',
'velmedia': '6,4'},
{'altitud': '52',
'dir': '20',
'fecha': '2017-01-21',
'horaPresMax': '11',
'horaPresMin': '14',
'horaracha': 'Varias',
'horatmax': '15:10',
'horatmin': '00:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1015,8',
'presMin': '1013,7',
'provincia': 'CANTABRIA',
'racha': '5,3',
'sol': '5,0',
'tmax': '10,9',
'tmed': '7,6',
'tmin': '4,3',
'velmedia': '2,2'},
{'altitud': '52',
'dir': '99',
'fecha': '2017-01-22',
'horaPresMax': '23',
'horaPresMin': 'Varias',
'horaracha': 'Varias',
'horatmax': '14:10',
'horatmin': '01:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1017,1',
'presMin': '1014,3',
'provincia': 'CANTABRIA',
'racha': '5,3',
'sol': '3,3',
'tmax': '11,3',
'tmed': '8,8',
'tmin': '6,2',
'velmedia': '2,8'},
{'altitud': '52',
'dir': '26',
'fecha': '2017-01-23',
'horaPresMax': '23',
'horaPresMin': '02',
'horaracha': '11:10',
'horatmax': '13:00',
'horatmin': 'Varias',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1019,9',
'presMin': '1016,4',
'provincia': 'CANTABRIA',
'racha': '10,0',
'sol': '5,4',
'tmax': '11,0',
'tmed': '9,0',
'tmin': '6,9',
'velmedia': '4,2'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-24',
'horaPresMax': '11',
'horaPresMin': '24',
'horaracha': '18:20',
'horatmax': '14:10',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1021,9',
'presMin': '1019,2',
'provincia': 'CANTABRIA',
'racha': '8,3',
'sol': '8,5',
'tmax': '11,4',
'tmed': '8,4',
'tmin': '5,3',
'velmedia': '3,3'},
{'altitud': '52',
'dir': '08',
'fecha': '2017-01-25',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '15:10',
'horatmax': '12:50',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1019,2',
'presMin': '1010,1',
'provincia': 'CANTABRIA',
'racha': '11,7',
'sol': '9,2',
'tmax': '9,9',
'tmed': '6,8',
'tmin': '3,7',
'velmedia': '6,7'},
{'altitud': '52',
'dir': '19',
'fecha': '2017-01-26',
'horaPresMax': '00',
'horaPresMin': '18',
'horaracha': '17:30',
'horatmax': '14:00',
'horatmin': '06:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 'Ip',
'presMax': '1010,1',
'presMin': '998,3',
'provincia': 'CANTABRIA',
'racha': '19,7',
'sol': '3,7',
'tmax': '14,1',
'tmed': '7,7',
'tmin': '1,3',
'velmedia': '7,2'},
{'altitud': '52',
'dir': '26',
'fecha': '2017-01-27',
'horaPresMax': '24',
'horaPresMin': '05',
'horaracha': '19:40',
'horatmax': '14:50',
'horatmin': '19:40',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '8,6',
'presMax': '1008,3',
'presMin': '997,0',
'provincia': 'CANTABRIA',
'racha': '17,2',
'sol': '1,4',
'tmax': '13,6',
'tmed': '11,2',
'tmin': '8,7',
'velmedia': '6,9'},
{'altitud': '52',
'dir': '26',
'fecha': '2017-01-28',
'horaPresMax': '19',
'horaPresMin': '00',
'horaracha': '13:00',
'horatmax': '11:20',
'horatmin': '06:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1016,3',
'presMin': '1008,3',
'provincia': 'CANTABRIA',
'racha': '12,2',
'sol': '5,1',
'tmax': '13,2',
'tmed': '10,5',
'tmin': '7,8',
'velmedia': '5,3'},
{'altitud': '52',
'dir': '20',
'fecha': '2017-01-29',
'horaPresMax': '00',
'horaPresMin': '15',
'horaracha': '11:30',
'horatmax': '15:20',
'horatmin': '01:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1014,9',
'presMin': '1009,4',
'provincia': 'CANTABRIA',
'racha': '13,1',
'sol': '3,2',
'tmax': '17,4',
'tmed': '13,2',
'tmin': '9,0',
'velmedia': '4,4'},
{'altitud': '52',
'dir': '19',
'fecha': '2017-01-30',
'horaPresMax': '01',
'horaPresMin': '23',
'horaracha': '21:00',
'horatmax': '15:30',
'horatmin': '05:40',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 'Ip',
'presMax': '1013,0',
'presMin': '1005,1',
'provincia': 'CANTABRIA',
'racha': '13,9',
'sol': '0,4',
'tmax': '18,7',
'tmed': '15,2',
'tmin': '11,7',
'velmedia': '4,2'},
{'altitud': '52',
'dir': '19',
'fecha': '2017-01-31',
'horaPresMax': '23',
'horaPresMin': 'Varias',
'horaracha': '06:00',
'horatmax': '13:40',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': '0,0',
'presMax': '1006,3',
'presMin': '1004,6',
'provincia': 'CANTABRIA',
'racha': '12,2',
'sol': '7,3',
'tmax': '20,8',
'tmed': '16,2',
'tmin': '11,7',
'velmedia': '4,7'}]
Se puede ver como los datos que devuelve la api vienen en formato string y con ',' como separador decimal, lo más cómodo será convertirlos:
In [9]:
def parse_data(raw_data):
data = []
for d in raw_data:
d = dict(d) # Exto copia el parámetro
for param in ['prec', 'presMax', 'presMin', 'racha', 'sol', 'tmax', 'tmed', 'tmin', 'velmedia', 'altitud', 'dir']:
try:
d[param] = float(d[param].replace(',', '.'))
except:
d[param] = None
data.append(d)
return data
In [10]:
data = parse_data(raw_data)
data
Out[10]:
[{'altitud': 52.0,
'dir': 21.0,
'fecha': '2017-01-01',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '07:30',
'horatmax': '13:40',
'horatmin': '07:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1022.0,
'presMin': 1010.6,
'provincia': 'CANTABRIA',
'racha': 6.4,
'sol': 7.0,
'tmax': 12.9,
'tmed': 9.3,
'tmin': 5.7,
'velmedia': 2.8},
{'altitud': 52.0,
'dir': 18.0,
'fecha': '2017-01-02',
'horaPresMax': '24',
'horaPresMin': 'Varias',
'horaracha': '06:30',
'horatmax': '11:30',
'horatmin': '02:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1015.4,
'presMin': 1009.8,
'provincia': 'CANTABRIA',
'racha': 10.8,
'sol': 6.6,
'tmax': 14.1,
'tmed': 10.3,
'tmin': 6.5,
'velmedia': 5.0},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-03',
'horaPresMax': '23',
'horaPresMin': '01',
'horaracha': '02:20',
'horatmax': '12:20',
'horatmin': '08:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1020.9,
'presMin': 1015.1,
'provincia': 'CANTABRIA',
'racha': 13.6,
'sol': 7.2,
'tmax': 10.6,
'tmed': 8.4,
'tmin': 6.3,
'velmedia': 6.7},
{'altitud': 52.0,
'dir': 7.0,
'fecha': '2017-01-04',
'horaPresMax': 'Varias',
'horaPresMin': '00',
'horaracha': '13:40',
'horatmax': '12:40',
'horatmin': '04:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1022.4,
'presMin': 1020.5,
'provincia': 'CANTABRIA',
'racha': 7.5,
'sol': 1.8,
'tmax': 10.8,
'tmed': 8.2,
'tmin': 5.5,
'velmedia': 3.6},
{'altitud': 52.0,
'dir': 10.0,
'fecha': '2017-01-05',
'horaPresMax': 'Varias',
'horaPresMin': '01',
'horaracha': '12:30',
'horatmax': '13:20',
'horatmin': '07:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1025.0,
'presMin': 1022.0,
'provincia': 'CANTABRIA',
'racha': 13.3,
'sol': 8.5,
'tmax': 10.6,
'tmed': 8.0,
'tmin': 5.4,
'velmedia': 6.9},
{'altitud': 52.0,
'dir': 9.0,
'fecha': '2017-01-06',
'horaPresMax': '23',
'horaPresMin': '06',
'horaracha': 'Varias',
'horatmax': '12:20',
'horatmin': 'Varias',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1026.4,
'presMin': 1024.1,
'provincia': 'CANTABRIA',
'racha': 14.2,
'sol': 8.6,
'tmax': 9.2,
'tmed': 6.7,
'tmin': 4.2,
'velmedia': 7.8},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-07',
'horaPresMax': '10',
'horaPresMin': '14',
'horaracha': '14:50',
'horatmax': '13:10',
'horatmin': '05:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1027.3,
'presMin': 1025.4,
'provincia': 'CANTABRIA',
'racha': 9.4,
'sol': 8.3,
'tmax': 10.3,
'tmed': 6.6,
'tmin': 2.8,
'velmedia': 5.3},
{'altitud': 52.0,
'dir': 10.0,
'fecha': '2017-01-08',
'horaPresMax': 'Varias',
'horaPresMin': '06',
'horaracha': '15:50',
'horatmax': '13:20',
'horatmin': '07:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1027.3,
'presMin': 1025.4,
'provincia': 'CANTABRIA',
'racha': 13.6,
'sol': 8.7,
'tmax': 11.5,
'tmed': 7.8,
'tmin': 4.0,
'velmedia': 5.3},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-09',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '14:10',
'horatmax': '13:30',
'horatmin': '06:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 9.4,
'presMax': 1025.8,
'presMin': 1017.5,
'provincia': 'CANTABRIA',
'racha': 8.1,
'sol': 8.0,
'tmax': 13.8,
'tmed': 10.3,
'tmin': 6.8,
'velmedia': 2.2},
{'altitud': 52.0,
'dir': 30.0,
'fecha': '2017-01-10',
'horaPresMax': '00',
'horaPresMin': '05',
'horaracha': '06:50',
'horatmax': '03:30',
'horatmin': '00:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 11.2,
'presMax': 1017.5,
'presMin': 1013.1,
'provincia': 'CANTABRIA',
'racha': 19.7,
'sol': 0.0,
'tmax': 12.0,
'tmed': 10.8,
'tmin': 9.7,
'velmedia': 9.4},
{'altitud': 52.0,
'dir': 28.0,
'fecha': '2017-01-11',
'horaPresMax': 'Varias',
'horaPresMin': '03',
'horaracha': '06:30',
'horatmax': 'Varias',
'horatmin': '00:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.2,
'presMax': 1020.7,
'presMin': 1016.3,
'provincia': 'CANTABRIA',
'racha': 16.7,
'sol': 0.0,
'tmax': 12.9,
'tmed': 12.0,
'tmin': 11.2,
'velmedia': 8.3},
{'altitud': 52.0,
'dir': 30.0,
'fecha': '2017-01-12',
'horaPresMax': '00',
'horaPresMin': '15',
'horaracha': '19:40',
'horatmax': '18:20',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 3.4,
'presMax': 1020.1,
'presMin': 1011.5,
'provincia': 'CANTABRIA',
'racha': 23.9,
'sol': 0.1,
'tmax': 13.4,
'tmed': 11.8,
'tmin': 10.1,
'velmedia': 4.7},
{'altitud': 52.0,
'dir': 31.0,
'fecha': '2017-01-13',
'horaPresMax': '23',
'horaPresMin': '00',
'horaracha': '00:50',
'horatmax': '13:00',
'horatmin': '08:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 3.4,
'presMax': 1020.4,
'presMin': 1015.4,
'provincia': 'CANTABRIA',
'racha': 25.3,
'sol': 3.3,
'tmax': 10.7,
'tmed': 9.2,
'tmin': 7.7,
'velmedia': 10.8},
{'altitud': 52.0,
'dir': 34.0,
'fecha': '2017-01-14',
'horaPresMax': '23',
'horaPresMin': '00',
'horaracha': '20:20',
'horatmax': 'Varias',
'horatmin': '05:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 8.4,
'presMax': 1024.0,
'presMin': 1020.2,
'provincia': 'CANTABRIA',
'racha': 21.7,
'sol': 2.2,
'tmax': 10.3,
'tmed': 8.5,
'tmin': 6.7,
'velmedia': 7.5},
{'altitud': 52.0,
'dir': 36.0,
'fecha': '2017-01-15',
'horaPresMax': '11',
'horaPresMin': '02',
'horaracha': '04:10',
'horatmax': '12:00',
'horatmin': '04:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 4.0,
'presMax': 1025.3,
'presMin': 1023.4,
'provincia': 'CANTABRIA',
'racha': 15.8,
'sol': 0.1,
'tmax': 11.6,
'tmed': 10.3,
'tmin': 9.0,
'velmedia': 7.8},
{'altitud': 52.0,
'dir': 31.0,
'fecha': '2017-01-16',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '03:40',
'horatmax': '13:00',
'horatmin': '04:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 8.2,
'presMax': 1023.6,
'presMin': 1019.5,
'provincia': 'CANTABRIA',
'racha': 16.4,
'sol': 0.1,
'tmax': 12.1,
'tmed': 11.0,
'tmin': 10.0,
'velmedia': 7.8},
{'altitud': 52.0,
'dir': 3.0,
'fecha': '2017-01-17',
'horaPresMax': '10',
'horaPresMin': '02',
'horaracha': '02:20',
'horatmax': '01:00',
'horatmin': '16:30',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1023.5,
'presMin': 1018.7,
'provincia': 'CANTABRIA',
'racha': 14.4,
'sol': 4.1,
'tmax': 11.0,
'tmed': 8.6,
'tmin': 6.2,
'velmedia': 6.9},
{'altitud': 52.0,
'dir': 4.0,
'fecha': '2017-01-18',
'horaPresMax': '10',
'horaPresMin': '14',
'horaracha': '03:30',
'horatmax': '00:00',
'horatmin': '15:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': None,
'presMax': 1021.7,
'presMin': 1019.7,
'provincia': 'CANTABRIA',
'racha': 13.9,
'sol': 0.0,
'tmax': 6.7,
'tmed': 5.6,
'tmin': 4.5,
'velmedia': 6.4},
{'altitud': 52.0,
'dir': 10.0,
'fecha': '2017-01-19',
'horaPresMax': '00',
'horaPresMin': 'Varias',
'horaracha': '18:10',
'horatmax': '13:50',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1020.0,
'presMin': 1017.7,
'provincia': 'CANTABRIA',
'racha': 10.6,
'sol': 3.4,
'tmax': 8.3,
'tmed': 5.6,
'tmin': 2.8,
'velmedia': 3.6},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-20',
'horaPresMax': '02',
'horaPresMin': 'Varias',
'horaracha': '16:00',
'horatmax': '12:40',
'horatmin': '07:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1018.2,
'presMin': 1015.1,
'provincia': 'CANTABRIA',
'racha': 11.7,
'sol': 8.6,
'tmax': 8.7,
'tmed': 5.4,
'tmin': 2.2,
'velmedia': 6.4},
{'altitud': 52.0,
'dir': 20.0,
'fecha': '2017-01-21',
'horaPresMax': '11',
'horaPresMin': '14',
'horaracha': 'Varias',
'horatmax': '15:10',
'horatmin': '00:10',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1015.8,
'presMin': 1013.7,
'provincia': 'CANTABRIA',
'racha': 5.3,
'sol': 5.0,
'tmax': 10.9,
'tmed': 7.6,
'tmin': 4.3,
'velmedia': 2.2},
{'altitud': 52.0,
'dir': 99.0,
'fecha': '2017-01-22',
'horaPresMax': '23',
'horaPresMin': 'Varias',
'horaracha': 'Varias',
'horatmax': '14:10',
'horatmin': '01:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1017.1,
'presMin': 1014.3,
'provincia': 'CANTABRIA',
'racha': 5.3,
'sol': 3.3,
'tmax': 11.3,
'tmed': 8.8,
'tmin': 6.2,
'velmedia': 2.8},
{'altitud': 52.0,
'dir': 26.0,
'fecha': '2017-01-23',
'horaPresMax': '23',
'horaPresMin': '02',
'horaracha': '11:10',
'horatmax': '13:00',
'horatmin': 'Varias',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1019.9,
'presMin': 1016.4,
'provincia': 'CANTABRIA',
'racha': 10.0,
'sol': 5.4,
'tmax': 11.0,
'tmed': 9.0,
'tmin': 6.9,
'velmedia': 4.2},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-24',
'horaPresMax': '11',
'horaPresMin': '24',
'horaracha': '18:20',
'horatmax': '14:10',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1021.9,
'presMin': 1019.2,
'provincia': 'CANTABRIA',
'racha': 8.3,
'sol': 8.5,
'tmax': 11.4,
'tmed': 8.4,
'tmin': 5.3,
'velmedia': 3.3},
{'altitud': 52.0,
'dir': 8.0,
'fecha': '2017-01-25',
'horaPresMax': '00',
'horaPresMin': '24',
'horaracha': '15:10',
'horatmax': '12:50',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1019.2,
'presMin': 1010.1,
'provincia': 'CANTABRIA',
'racha': 11.7,
'sol': 9.2,
'tmax': 9.9,
'tmed': 6.8,
'tmin': 3.7,
'velmedia': 6.7},
{'altitud': 52.0,
'dir': 19.0,
'fecha': '2017-01-26',
'horaPresMax': '00',
'horaPresMin': '18',
'horaracha': '17:30',
'horatmax': '14:00',
'horatmin': '06:20',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': None,
'presMax': 1010.1,
'presMin': 998.3,
'provincia': 'CANTABRIA',
'racha': 19.7,
'sol': 3.7,
'tmax': 14.1,
'tmed': 7.7,
'tmin': 1.3,
'velmedia': 7.2},
{'altitud': 52.0,
'dir': 26.0,
'fecha': '2017-01-27',
'horaPresMax': '24',
'horaPresMin': '05',
'horaracha': '19:40',
'horatmax': '14:50',
'horatmin': '19:40',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 8.6,
'presMax': 1008.3,
'presMin': 997.0,
'provincia': 'CANTABRIA',
'racha': 17.2,
'sol': 1.4,
'tmax': 13.6,
'tmed': 11.2,
'tmin': 8.7,
'velmedia': 6.9},
{'altitud': 52.0,
'dir': 26.0,
'fecha': '2017-01-28',
'horaPresMax': '19',
'horaPresMin': '00',
'horaracha': '13:00',
'horatmax': '11:20',
'horatmin': '06:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1016.3,
'presMin': 1008.3,
'provincia': 'CANTABRIA',
'racha': 12.2,
'sol': 5.1,
'tmax': 13.2,
'tmed': 10.5,
'tmin': 7.8,
'velmedia': 5.3},
{'altitud': 52.0,
'dir': 20.0,
'fecha': '2017-01-29',
'horaPresMax': '00',
'horaPresMin': '15',
'horaracha': '11:30',
'horatmax': '15:20',
'horatmin': '01:50',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1014.9,
'presMin': 1009.4,
'provincia': 'CANTABRIA',
'racha': 13.1,
'sol': 3.2,
'tmax': 17.4,
'tmed': 13.2,
'tmin': 9.0,
'velmedia': 4.4},
{'altitud': 52.0,
'dir': 19.0,
'fecha': '2017-01-30',
'horaPresMax': '01',
'horaPresMin': '23',
'horaracha': '21:00',
'horatmax': '15:30',
'horatmin': '05:40',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': None,
'presMax': 1013.0,
'presMin': 1005.1,
'provincia': 'CANTABRIA',
'racha': 13.9,
'sol': 0.4,
'tmax': 18.7,
'tmed': 15.2,
'tmin': 11.7,
'velmedia': 4.2},
{'altitud': 52.0,
'dir': 19.0,
'fecha': '2017-01-31',
'horaPresMax': '23',
'horaPresMin': 'Varias',
'horaracha': '06:00',
'horatmax': '13:40',
'horatmin': '23:59',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1006.3,
'presMin': 1004.6,
'provincia': 'CANTABRIA',
'racha': 12.2,
'sol': 7.3,
'tmax': 20.8,
'tmed': 16.2,
'tmin': 11.7,
'velmedia': 4.7}]
La api limita el número de días de los que puede dar información en una misma petición por lo que se queremos obtener datos de un periodo de tiempo largo, necesitamos hacer varias peticiones.
Escribir a mano la fecha inicial y final no es una opción, por lo que usaremos el módulo datetime
para generar grupos de 30 días consecutivos:
In [11]:
import datetime
Generamos una lista con las fechas que vamos a utilizar para las peticiones
In [12]:
start_date = datetime.datetime(2015, 1, 1, 0, 0, 0)
final_date = datetime.datetime(2015, 4, 1, 0, 0, 0)
step = datetime.timedelta(days=30)
chunks = [start_date]
next_date = start_date + step
while next_date < final_date:
chunks.append(next_date)
next_date += step
chunks.append(final_date)
chunks
Out[12]:
[datetime.datetime(2015, 1, 1, 0, 0),
datetime.datetime(2015, 1, 31, 0, 0),
datetime.datetime(2015, 3, 2, 0, 0),
datetime.datetime(2015, 4, 1, 0, 0)]
In [13]:
# Lo encapsulamos en una función
def generate_chunks(start_date, final_date, step):
chunks = [start_date]
next_date = start_date + step
while next_date < final_date:
chunks.append(next_date)
next_date += step
chunks.append(final_date)
return chunks
In [14]:
for ii in range(1, len(chunks)):
print(chunks[ii-1].strftime('%Y-%m-%dT%H:%M:%SUTC'),
" - ",
chunks[ii].strftime('%Y-%m-%dT%H:%M:%SUTC'))
2015-01-01T00:00:00UTC - 2015-01-31T00:00:00UTC
2015-01-31T00:00:00UTC - 2015-03-02T00:00:00UTC
2015-03-02T00:00:00UTC - 2015-04-01T00:00:00UTC
In [15]:
import time
In [16]:
start_date = datetime.datetime(2012, 1, 4, 0, 0, 0)
final_date = datetime.datetime(2016, 12, 31, 23, 59, 59)
step = datetime.timedelta(days=30)
chunks = generate_chunks(start_date, final_date, step)
raw_data = []
station = '1111X'
for ii in range(1, len(chunks)):
print()
print(chunks[ii-1].strftime('%Y-%m-%dT%H:%M:%SUTC'),
" - ",
chunks[ii].strftime('%Y-%m-%dT%H:%M:%SUTC'))
url = ("https://opendata.aemet.es/opendata/api/valores/climatologicos/diarios/datos/"
"fechaini/{start}/fechafin/{end}/estacion/{station}".format(
start=chunks[ii-1].strftime('%Y-%m-%dT%H:%M:%SUTC'),
end=chunks[ii].strftime('%Y-%m-%dT%H:%M:%SUTC'),
station=station)
)
iterate = True
while iterate:
r = requests.get(url, params=querystring, verify=False)
# Si no me deja hacer la conexión, la repito
iterate = (r.status_code == requests.codes.too_many_requests)
print(r.json())
# Chequeo si la petición ha ido bien
if r.status_code == requests.codes.ok:
# Hago la request para obtener los datos
data_url = r.json()['datos']
r_data = requests.get(data_url, params=querystring, verify=False)
# INCONSISTENCIA DE LA API:
# Cuando no encuentra datos en el rango seleccionado, la API devuelve
# que el status code es 200 (todo ok) y devuelve un json con el error
# cuando encuentra, no hay atributo estado
try:
estado = r_data.json()['estado']
except:
estado = 200
# Si ha ido bien guardo los datos
if estado == requests.codes.ok:
# print(r_data.json())
raw_data.extend(r_data.json())
else:
print(r_data.json()['descripcion'])
else:
print(r.json()['descripcion'])
time.sleep(60/45)
2012-01-04T00:00:00UTC - 2012-02-03T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/a751dd44', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
No hay datos que satisfagan esos criterios
2012-02-03T00:00:00UTC - 2012-03-04T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/2f3a78e4', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-03-04T00:00:00UTC - 2012-04-03T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/ce5b795a', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-04-03T00:00:00UTC - 2012-05-03T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/6b7a6e61', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-05-03T00:00:00UTC - 2012-06-02T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/1ea53a2c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-06-02T00:00:00UTC - 2012-07-02T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/98d1761c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-07-02T00:00:00UTC - 2012-08-01T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/7e6ba9b2', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-08-01T00:00:00UTC - 2012-08-31T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/4ade07f2', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-08-31T00:00:00UTC - 2012-09-30T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/ada376a8', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-09-30T00:00:00UTC - 2012-10-30T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/1da22646', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-10-30T00:00:00UTC - 2012-11-29T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/205a431c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-11-29T00:00:00UTC - 2012-12-29T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/4083c395', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2012-12-29T00:00:00UTC - 2013-01-28T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/dc465621', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-01-28T00:00:00UTC - 2013-02-27T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/661b1354', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-02-27T00:00:00UTC - 2013-03-29T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/795c3abd', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-03-29T00:00:00UTC - 2013-04-28T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/b7c2e13b', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-04-28T00:00:00UTC - 2013-05-28T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/38c3029c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-05-28T00:00:00UTC - 2013-06-27T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/38ffba88', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-06-27T00:00:00UTC - 2013-07-27T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/8ed0a859', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-07-27T00:00:00UTC - 2013-08-26T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/e6e1c3ec', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-08-26T00:00:00UTC - 2013-09-25T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/10feeff0', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-09-25T00:00:00UTC - 2013-10-25T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/d95d5a90', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-10-25T00:00:00UTC - 2013-11-24T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/81007a00', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-11-24T00:00:00UTC - 2013-12-24T00:00:00UTC
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'datos': 'https://opendata.aemet.es/opendata/sh/25b04342', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2013-12-24T00:00:00UTC - 2014-01-23T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/8c173c9f', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-01-23T00:00:00UTC - 2014-02-22T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/e9ed0252', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-02-22T00:00:00UTC - 2014-03-24T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/2ad7aa71', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-03-24T00:00:00UTC - 2014-04-23T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/32d1b6f2', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-04-23T00:00:00UTC - 2014-05-23T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/213cb2d0', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-05-23T00:00:00UTC - 2014-06-22T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/f55e7d24', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-06-22T00:00:00UTC - 2014-07-22T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/b67c4482', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-07-22T00:00:00UTC - 2014-08-21T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/a5b7b774', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-08-21T00:00:00UTC - 2014-09-20T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/d7a1556c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-09-20T00:00:00UTC - 2014-10-20T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/ebe48879', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-10-20T00:00:00UTC - 2014-11-19T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/8c2576ce', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-11-19T00:00:00UTC - 2014-12-19T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/77e00c56', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2014-12-19T00:00:00UTC - 2015-01-18T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/e4eb87c6', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-01-18T00:00:00UTC - 2015-02-17T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/50f7c2f3', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-02-17T00:00:00UTC - 2015-03-19T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/16f562ee', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-03-19T00:00:00UTC - 2015-04-18T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/661c10b9', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-04-18T00:00:00UTC - 2015-05-18T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/10143dad', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-05-18T00:00:00UTC - 2015-06-17T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/3b93013c', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-06-17T00:00:00UTC - 2015-07-17T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/8944e373', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-07-17T00:00:00UTC - 2015-08-16T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/b4e98736', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-08-16T00:00:00UTC - 2015-09-15T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/1e625ee0', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-09-15T00:00:00UTC - 2015-10-15T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/32fd1839', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-10-15T00:00:00UTC - 2015-11-14T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/2a47c406', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-11-14T00:00:00UTC - 2015-12-14T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/9111f232', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2015-12-14T00:00:00UTC - 2016-01-13T00:00:00UTC
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'estado': 429, 'descripcion': 'Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.'}
Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto.
{'datos': 'https://opendata.aemet.es/opendata/sh/d35fcaac', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-01-13T00:00:00UTC - 2016-02-12T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/b3ccf450', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-02-12T00:00:00UTC - 2016-03-13T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/91677c3d', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-03-13T00:00:00UTC - 2016-04-12T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/852e3857', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-04-12T00:00:00UTC - 2016-05-12T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/f96971c5', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-05-12T00:00:00UTC - 2016-06-11T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/c33c8e23', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-06-11T00:00:00UTC - 2016-07-11T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/e4194c49', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-07-11T00:00:00UTC - 2016-08-10T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/16b58994', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-08-10T00:00:00UTC - 2016-09-09T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/fac9b46f', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-09-09T00:00:00UTC - 2016-10-09T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/39fc2c95', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-10-09T00:00:00UTC - 2016-11-08T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/56322d90', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-11-08T00:00:00UTC - 2016-12-08T00:00:00UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/a1dad947', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
2016-12-08T00:00:00UTC - 2016-12-31T23:59:59UTC
{'datos': 'https://opendata.aemet.es/opendata/sh/199e4d2b', 'estado': 200, 'metadatos': 'https://opendata.aemet.es/opendata/sh/b3aa9d28', 'descripcion': 'exito'}
In [17]:
data = parse_data(raw_data)
data[:2]
Out[17]:
[{'altitud': 52.0,
'dir': 7.0,
'fecha': '2012-03-01',
'horaPresMax': '11',
'horaPresMin': 'Varias',
'horaracha': '15:20',
'horatmax': '11:00',
'horatmin': '07:40',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1017.3,
'presMin': 1015.6,
'provincia': 'CANTABRIA',
'racha': 7.5,
'sol': 9.1,
'tmax': 13.4,
'tmed': 11.0,
'tmin': 8.6,
'velmedia': 4.2},
{'altitud': 52.0,
'dir': 28.0,
'fecha': '2012-03-02',
'horaPresMax': '23',
'horaPresMin': '14',
'horaracha': '17:30',
'horatmax': '15:00',
'horatmin': '03:00',
'indicativo': '1111X',
'nombre': 'SANTANDER',
'prec': 0.0,
'presMax': 1019.3,
'presMin': 1015.6,
'provincia': 'CANTABRIA',
'racha': 7.8,
'sol': 3.5,
'tmax': 12.6,
'tmed': 10.8,
'tmin': 9.1,
'velmedia': 3.3}]
In [18]:
import pandas as pd
In [19]:
pd.DataFrame(data[100], index=[0])
Out[19]:
altitud
dir
fecha
horaPresMax
horaPresMin
horaracha
horatmax
horatmin
indicativo
nombre
prec
presMax
presMin
provincia
racha
sol
tmax
tmed
tmin
velmedia
0
52.0
28.0
2012-06-05
00
16
23:40
13:10
04:10
1111X
SANTANDER
0.0
1012.4
1007.5
CANTABRIA
7.2
11.9
20.8
17.2
13.5
1.9
In [20]:
dfs = []
for ii in range(len(data)):
dfs.append(pd.DataFrame(data[ii], index=[ii]))
df = pd.concat(dfs)
In [21]:
df
Out[21]:
altitud
dir
fecha
horaPresMax
horaPresMin
horaracha
horatmax
horatmin
indicativo
nombre
prec
presMax
presMin
provincia
racha
sol
tmax
tmed
tmin
velmedia
0
52.0
7
2012-03-01
11
Varias
15:20
11:00
07:40
1111X
SANTANDER
0
1017.3
1015.6
CANTABRIA
7.5
9.1
13.4
11.0
8.6
4.2
1
52.0
28
2012-03-02
23
14
17:30
15:00
03:00
1111X
SANTANDER
0
1019.3
1015.6
CANTABRIA
7.8
3.5
12.6
10.8
9.1
3.3
2
52.0
99
2012-03-03
17
04
13:40
12:00
06:00
1111X
SANTANDER
0.8
1021.3
1017.8
CANTABRIA
7.2
6.8
17.8
13.7
9.6
2.5
3
52.0
33
2012-03-04
24
07
14:10
11:30
23:59
1111X
SANTANDER
0.8
1026.9
1015.3
CANTABRIA
18.3
1.2
15.6
12.0
8.4
6.4
4
52.0
33
2012-03-04
24
07
14:10
11:30
23:59
1111X
SANTANDER
0.8
1026.9
1015.3
CANTABRIA
18.3
1.2
15.6
12.0
8.4
6.4
5
52.0
35
2012-03-05
Varias
17
02:10
13:40
Varias
1111X
SANTANDER
1
1027.3
1024.3
CANTABRIA
10.3
8.7
11.5
9.5
7.5
3.6
6
52.0
28
2012-03-06
00
17
12:40
13:50
07:00
1111X
SANTANDER
0
1024.4
1021.5
CANTABRIA
7.8
8.9
11.7
8.9
6.1
3.6
7
52.0
29
2012-03-07
23
04
21:20
14:40
05:30
1111X
SANTANDER
2.4
1025.4
1021.1
CANTABRIA
12.5
6.5
13.2
9.3
5.4
3.1
8
52.0
1
2012-03-08
Varias
00
02:10
13:10
23:59
1111X
SANTANDER
0
1031.2
1025.3
CANTABRIA
12.8
6.3
13.1
10.8
8.6
5.8
9
52.0
8
2012-03-09
Varias
14
16:20
11:30
07:00
1111X
SANTANDER
0
1031
1028.6
CANTABRIA
12.2
10.8
13.3
9.9
6.5
6.4
10
52.0
8
2012-03-10
01
16
16:50
10:40
07:00
1111X
SANTANDER
0
1030.4
1028.3
CANTABRIA
9.2
11
14.1
10.6
7.2
5.3
11
52.0
4
2012-03-11
01
24
15:30
13:00
07:50
1111X
SANTANDER
0
1029
1023.5
CANTABRIA
8.9
5.9
12.4
10.6
8.8
2.8
12
52.0
5
2012-03-12
00
Varias
14:00
13:00
23:40
1111X
SANTANDER
0
1023.5
1019.5
CANTABRIA
7.8
8.7
13.5
11.2
9.0
4.2
13
52.0
3
2012-03-13
Varias
14
13:20
13:40
Varias
1111X
SANTANDER
0
1019.7
1018.3
CANTABRIA
4.7
10.6
13.6
11.1
8.6
1.9
14
52.0
5
2012-03-14
Varias
04
14:10
00:00
03:20
1111X
SANTANDER
0.2
1019.8
1017.8
CANTABRIA
4.7
0
10.8
9.6
8.5
1.7
15
52.0
99
2012-03-15
02
Varias
Varias
12:40
01:30
1111X
SANTANDER
0.2
1019.6
1017.8
CANTABRIA
5
0
11.9
10.4
8.8
1.7
16
52.0
27
2012-03-16
00
17
18:10
13:40
07:00
1111X
SANTANDER
0
1018.3
1014.7
CANTABRIA
5.3
0
11.6
10.8
10.0
2.5
17
52.0
31
2012-03-17
00
12
14:10
11:30
23:59
1111X
SANTANDER
8.2
1016.3
1012.1
CANTABRIA
15.8
4.2
16.2
12.0
7.7
3.6
18
52.0
28
2012-03-18
24
01
16:10
12:30
20:50
1111X
SANTANDER
19.2
1024.1
1012.8
CANTABRIA
20.6
7.7
11.4
9.0
6.6
10.6
19
52.0
25
2012-03-19
22
00
00:30
14:10
06:00
1111X
SANTANDER
4.4
1029.5
1023.9
CANTABRIA
14.7
4.8
11.2
8.6
5.9
4.4
20
52.0
5
2012-03-20
00
24
02:40
12:10
06:30
1111X
SANTANDER
0
1029.3
1024.6
CANTABRIA
8.9
7.9
12.5
9.6
6.7
3.6
21
52.0
7
2012-03-21
00
24
10:10
11:10
23:59
1111X
SANTANDER
0.8
1024.6
1015.4
CANTABRIA
8.6
0.4
11.9
9.6
7.3
1.9
22
52.0
11
2012-03-22
20
Varias
23:59
16:20
02:40
1111X
SANTANDER
0
1017.3
1014.1
CANTABRIA
8.1
11.8
14.5
10.2
5.8
3.3
23
52.0
8
2012-03-23
00
19
13:10
12:00
05:20
1111X
SANTANDER
0
1016.3
1009.6
CANTABRIA
12.5
10.4
15.1
11.4
7.6
6.4
24
52.0
19
2012-03-24
24
03
06:10
12:00
00:30
1111X
SANTANDER
0
1015.2
1009.4
CANTABRIA
11.9
11.9
21.4
16.8
12.2
5
25
52.0
10
2012-03-25
10
00
17:30
14:20
06:00
1111X
SANTANDER
0
1018.1
1015.1
CANTABRIA
8.6
11.7
17.3
14.6
11.9
3.9
26
52.0
8
2012-03-26
00
16
15:10
09:00
05:50
1111X
SANTANDER
0
1016.6
1014.3
CANTABRIA
11.4
11.3
18.9
15.2
11.6
4.4
27
52.0
8
2012-03-27
23
02
18:10
11:50
05:40
1111X
SANTANDER
0
1018.1
1015.5
CANTABRIA
13.6
11.6
22.0
17.9
13.8
5.8
28
52.0
8
2012-03-28
Varias
Varias
15:20
09:20
23:50
1111X
SANTANDER
0
1019.1
1016.4
CANTABRIA
9.4
11.6
20.4
15.9
11.4
3.1
29
52.0
27
2012-03-29
00
17
10:40
14:30
06:00
1111X
SANTANDER
0
1016.4
1013.7
CANTABRIA
5.8
11.6
15.8
13.2
10.7
1.9
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
1796
52.0
19
2016-12-03
00
24
Varias
14:40
03:40
1111X
SANTANDER
0
1007.8
1000.8
CANTABRIA
7.5
8
16.9
13.0
9.0
2.8
1797
52.0
18
2016-12-04
Varias
04
13:40
13:10
01:20
1111X
SANTANDER
0
1007
1000.2
CANTABRIA
13.3
2.4
18.8
15.0
11.1
6.7
1798
52.0
18
2016-12-05
24
00
01:30
13:30
23:20
1111X
SANTANDER
0
1016.3
1007
CANTABRIA
10.8
4.2
21.2
18.0
14.8
3.1
1799
52.0
10
2016-12-06
20
04
15:50
13:00
21:40
1111X
SANTANDER
0
1020.7
1016.2
CANTABRIA
7.2
8.2
17.7
14.6
11.5
3.3
1800
52.0
16
2016-12-07
20
04
03:00
13:20
06:30
1111X
SANTANDER
0
1021.6
1019.1
CANTABRIA
5
6.3
15.9
13.4
10.8
1.1
1801
52.0
21
2016-12-08
10
16
23:00
14:20
00:00
1111X
SANTANDER
0
1023.3
1020.7
CANTABRIA
13.9
6
19.9
16.0
12.1
5
1802
52.0
21
2016-12-08
10
16
23:00
14:20
00:00
1111X
SANTANDER
0
1023.3
1020.7
CANTABRIA
13.9
6
19.9
16.0
12.1
5
1803
52.0
20
2016-12-09
Varias
Varias
02:20
12:30
22:50
1111X
SANTANDER
0
1023.1
1020
CANTABRIA
13.6
7.7
17.7
14.8
11.8
4.4
1804
52.0
16
2016-12-10
00
21
20:00
12:30
07:30
1111X
SANTANDER
0
1020.7
1018.7
CANTABRIA
5
7.5
17.0
13.7
10.4
1.4
1805
52.0
12
2016-12-11
11
Varias
18:30
12:00
01:30
1111X
SANTANDER
0
1021.3
1018.4
CANTABRIA
6.4
2.7
19.3
15.1
10.9
2.8
1806
52.0
99
2016-12-12
10
24
Varias
12:30
08:20
1111X
SANTANDER
0
1019.5
1016.6
CANTABRIA
5
7.8
18.1
14.6
11.0
2.5
1807
52.0
19
2016-12-13
00
24
20:00
13:40
05:00
1111X
SANTANDER
0
1016.6
1010.3
CANTABRIA
14.2
8.1
14.8
12.2
9.6
1.9
1808
52.0
19
2016-12-14
21
05
06:40
12:20
21:40
1111X
SANTANDER
0.8
1014.9
1008.1
CANTABRIA
14.7
2
17.9
14.0
10.2
5.8
1809
52.0
20
2016-12-15
01
23
21:10
15:00
07:40
1111X
SANTANDER
0
1015
1006.2
CANTABRIA
15
6.6
16.4
13.6
10.8
4.7
1810
52.0
19
2016-12-16
24
01
00:50
13:20
23:40
1111X
SANTANDER
0.1
1023.5
1006
CANTABRIA
17.2
1.4
13.9
12.0
10.2
3.9
1811
52.0
20
2016-12-17
21
00
05:10
13:30
02:40
1111X
SANTANDER
0
1029.2
1023.5
CANTABRIA
6.7
2.7
14.1
12.1
10.1
3.1
1812
52.0
9
2016-12-18
00
24
18:40
13:10
23:40
1111X
SANTANDER
0
1028.2
1018.6
CANTABRIA
9.7
7.9
13.9
10.7
7.5
4.2
1813
52.0
36
2016-12-19
00
24
Varias
13:10
03:20
1111X
SANTANDER
2
1018.6
1012.8
CANTABRIA
12.2
0
11.7
9.2
6.8
3.3
1814
52.0
29
2016-12-20
24
01
21:00
23:59
09:00
1111X
SANTANDER
5.8
1019.4
1012.7
CANTABRIA
12.5
0.6
12.5
10.5
8.5
4.2
1815
52.0
33
2016-12-21
21
00
02:10
11:20
06:10
1111X
SANTANDER
6.8
1023.9
1019.2
CANTABRIA
13.3
0
13.9
12.3
10.7
2.2
1816
52.0
31
2016-12-22
24
Varias
19:30
14:00
00:30
1111X
SANTANDER
0.2
1029.4
1023.4
CANTABRIA
6.9
0.1
16.3
13.9
11.5
2.2
1817
52.0
20
2016-12-23
23
Varias
21:40
11:20
04:20
1111X
SANTANDER
None
1030.9
1028.8
CANTABRIA
5.6
4.6
16.3
14.2
12.1
2.2
1818
52.0
20
2016-12-24
11
Varias
03:20
Varias
23:50
1111X
SANTANDER
0
1032.8
1030.3
CANTABRIA
5.3
5.7
16.2
13.8
11.5
2.2
1819
52.0
9
2016-12-25
00
17
Varias
13:00
23:59
1111X
SANTANDER
0
1031.3
1025.8
CANTABRIA
8.1
7.5
14.5
12.1
9.7
2.8
1820
52.0
10
2016-12-26
11
02
20:50
Varias
01:00
1111X
SANTANDER
0
1029.5
1025.9
CANTABRIA
8.1
0
12.1
10.2
8.4
3.1
1821
52.0
9
2016-12-27
00
15
07:20
13:10
23:50
1111X
SANTANDER
0
1028
1025
CANTABRIA
13.9
5.8
12.9
10.8
8.6
6.9
1822
52.0
27
2016-12-28
Varias
05
12:00
12:10
07:40
1111X
SANTANDER
0
1028.2
1025.6
CANTABRIA
5.3
5.6
13.9
11.1
8.3
2.8
1823
52.0
99
2016-12-29
24
14
Varias
13:40
Varias
1111X
SANTANDER
0
1028.9
1027.4
CANTABRIA
5.3
0
11.5
10.0
8.4
2.5
1824
52.0
8
2016-12-30
10
16
13:10
13:10
06:50
1111X
SANTANDER
0
1029.3
1025.8
CANTABRIA
7.8
2.7
11.2
9.5
7.8
4.2
1825
52.0
18
2016-12-31
00
24
04:20
10:50
08:00
1111X
SANTANDER
0
1025.9
1022
CANTABRIA
5.3
8
10.8
8.2
5.5
2.2
1826 rows × 20 columns
In [22]:
df.to_csv('../data/weather_data.csv', index=None)
In [23]:
data_df = pd.read_csv("../data/weather_data.csv", parse_dates=['fecha'])
In [24]:
data_df.head()
Out[24]:
altitud
dir
fecha
horaPresMax
horaPresMin
horaracha
horatmax
horatmin
indicativo
nombre
prec
presMax
presMin
provincia
racha
sol
tmax
tmed
tmin
velmedia
0
52.0
7.0
2012-03-01
11
Varias
15:20
11:00
07:40
1111X
SANTANDER
0.0
1017.3
1015.6
CANTABRIA
7.5
9.1
13.4
11.0
8.6
4.2
1
52.0
28.0
2012-03-02
23
14
17:30
15:00
03:00
1111X
SANTANDER
0.0
1019.3
1015.6
CANTABRIA
7.8
3.5
12.6
10.8
9.1
3.3
2
52.0
99.0
2012-03-03
17
04
13:40
12:00
06:00
1111X
SANTANDER
0.8
1021.3
1017.8
CANTABRIA
7.2
6.8
17.8
13.7
9.6
2.5
3
52.0
33.0
2012-03-04
24
07
14:10
11:30
23:59
1111X
SANTANDER
0.8
1026.9
1015.3
CANTABRIA
18.3
1.2
15.6
12.0
8.4
6.4
4
52.0
33.0
2012-03-04
24
07
14:10
11:30
23:59
1111X
SANTANDER
0.8
1026.9
1015.3
CANTABRIA
18.3
1.2
15.6
12.0
8.4
6.4
In [25]:
%matplotlib inline
In [26]:
ax = data_df.plot(x='fecha', y=['tmax', 'tmed', 'tmin'], figsize=(12, 6))
In [27]:
from bokeh.io import output_notebook, show
from bokeh.charts import Line
In [29]:
show(Line(data_df[['presMin', 'presMax']]))
Galería de Bokeh: http://bokeh.pydata.org/en/latest/docs/gallery.html
Content source: CAChemE/curso-python-datos
Similar notebooks: