Recorriendo JSON del precio de la gasolina

Hola! En esta ocasión os posteo mi última aventura que tuve que fue recorrer un JSON para conocer el precio de la gasolina.

Cómo descargar JSON con WGET

Nos descargamos el JSON

wget https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/EstacionesTerrestres/ -O gasolina.json

Cómo reparar Anaconda

Antes de iniciar nuestra aventura debemos actualizar y reparar Anaconda con los siguientes comandos:

conda update conda --all
conda update anaconda

Cómo hacer que Jupiter cargue archivos enormes

Cuando trabajamos en big data sea este CSV o JSON debemos escribir el siguiente comando:

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10
coding script
Photo by Markus Spiske on Pexels.com

Mostrando todas las ciudades, su provincia y precio

import json
from io import open

jsonVar=""

f = open("gasolina.json", mode="r", encoding="utf-8")
for x in f:
    jsonVar=jsonVar+str(x)
    

provincia=""
localidad=""
gasolina=0.0
listaPrecio=json.loads(jsonVar)
listaPrecio=listaPrecio['ListaEESSPrecio']
for l in listaPrecio:
    gasolina=0.0
    provincia=l['Provincia']
    localidad=l['Localidad'].title()
    nombre=l['Rótulo']
    try:
        gasolina=float(l['Precio Gasolina 95 E5'].replace(",","."))
        if gasolina > 0:
                print("La gasolinera "+str(nombre)+" en la localidad "+str(localidad)+ " de la provincia "+str(provincia)+ " tiene como precio " +str(gasolina))
    except:
           print("", end="")

Intentando ordenarlo por precio (incompleto)

import json
from io import open
import numpy as np


jsonVar=""

f = open("gasolina.json", mode="r", encoding="utf-8")
for x in f:
    jsonVar=jsonVar+str(x)
    

provincia=""
localidad=""
gasolina=0.0
nombre=""
listaPrecio=json.loads(jsonVar)
listaPrecio=listaPrecio['ListaEESSPrecio']





num=int(0)

a = np.array([[gasolina, provincia, localidad, nombre],[gasolina, provincia, localidad, nombre]]) 

for l in listaPrecio:
    gasolina=0.0
    provincia=l['Provincia']
    localidad=l['Localidad'].title()
    nombre=l['Rótulo']
    try:
        gasolina=float(l['Precio Gasolina 95 E5'].replace(",","."))
        
        a=np.append(a, [[gasolina, provincia, localidad, nombre]])
        #num=num+1

       # if gasolina > 0:
                #print("La gasolinera "+str(nombre)+" en la localidad "+str(localidad)+ " de la provincia "+str(provincia)+ " tiene como precio " +str(gasolina))
    except:
           print("", end="")
print("prueba")
for b in a:
    print (b)

Agradecimientos

Gracias por leer este tutorial, y espero que a alguien le sea de utilidad este código, con la situación delicada que está pasando nuestro país, que no empiece de cero. Decir que el orden recomendaría usar clases y OOP para implementarlo 100% funcional.

Referencias

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Tomas Gonzalez
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
A %d blogueros les gusta esto: