Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/json»
De WikiEducator
Línea 38: | Línea 38: | ||
− | {{ | + | {{/ejercicio estado trafico}} |
− | + | ||
− | + | ||
− | + | ||
− | }} | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revisión de 23:27 30 nov 2011
Contenido
Doc
Ejemplo: Datos del tráfico de http://datos.zaragoza.es
from urllib2 import urlopen from json import load urlt = 'http://www.zaragoza.es/trafico/estado/tiempos2.json' tiempos = load(urlopen(urlt)) # los datos están en la clave tiempos tiempos = tiempos.get('tiempos') # mostramos inicio y fin de cada tramo for t in tiempos: print t.get('inicio'), '--->', t.get('fin') # cuánto va a costar ir de la cª madrid al actur? for t in tiempos: ini = t.get('inicio') fin = t.get('fin') if 'madrid' in ini.lower() and 'actur' in fin.lower(): print ini, fin, t.get('minutosActual') # Tramos que acumulan retrasos for t in tiempos: act = t.get('minutosActual') normal = t.get('minutosNormal') if act > normal: print t.get('inicio'), t.get('fin')
Ejercicio estado del tráfico
Haz un programa que a partir de la información de los datos de http://datos.zaragoza.es muestre los tramos con tráfico negro, rojo y amarillo (ordenados y agrupados así)
Datos: estado del tráfico
|
Tip: Fichero de estados
- timestamp indica la hora a la que esos datos se han generado en el servidor de tráfico en hora UTC. El formato de la fecha es YYYYMMDD_HHMMSSZ (4 dígitos para el año, 2 para el mes, 2 para el día, un guión bajo, 2 dígitos para la hora, 2 para el minuto, 2 para el segundo y el literal "Z" para indicar que la hora es Zulu o UTC)
- estados contiene una cadena en la que cada carácter representa el estado de un tramo, según la posición que ocupa. Es decir, el estado del tramo con id=23 es el carácter número 23 de dicha cadena. Por lo tanto, si el máximo id de tramo es 219, la cadena tiene que tener 220 caracteres de largo. Si en el futuro se borran tramos, se guardará la posición en la cadena con el carácter "-" (guión). Los estados pueden ser:
r rojo y amarillo g verde b negro t transparente - no existe el tramo