Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/csv/ejercicio cvs euskadi»
De WikiEducator
< Usuario:Lmorillas | modulo programacion | python | csv
(Página creada con '<noinclude>{{DISPLAYTITLE:Retribuciones de altos cargos y personal eventual del Gobierno Vasco y sus Organismos Autónomos desde el año 2009 }}</noinclude> {{Actividad| Title…') |
|||
| Línea 12: | Línea 12: | ||
* muestre la evolución de los sueldos en porcentajes entre los 3 años | * muestre la evolución de los sueldos en porcentajes entre los 3 años | ||
* haga una gráfica (sueldos_euskadi.png) con la evolución de los sueldos. | * haga una gráfica (sueldos_euskadi.png) con la evolución de los sueldos. | ||
| + | }} | ||
| + | |||
| + | |||
| + | {{Tip| | ||
| + | Los ficheros tienen caracteres codificados y pueden dar problemas si no se codifican bien. Una buena práctica es trabajar con unicode, como muestra en este [http://stackoverflow.com/questions/1020892/urllib2-read-to-unicode ejemplo]. | ||
| + | <source lang="python"> | ||
| + | # Siguiendo nuestro ejemplo: | ||
| + | import urllib2 | ||
| + | |||
| + | url = 'http://opendata.euskadi.net/w79-contgen/es/contenidos/ds_general/sueldos_altos_cargos_2011/es_sueldos/contenidos/ds_general/sueldos_altos_cargos_2011/es_sueldos/adjuntos/sueldos_2011.csv' | ||
| + | |||
| + | req = urllib2.urlopen(url) | ||
| + | content = req.read() | ||
| + | |||
| + | # extraer el encoding de la cabecera | ||
| + | encoding=req.headers['content-type'].split('charset=')[-1] | ||
| + | |||
| + | # convertir a unidoce, usando el encoding apropiado | ||
| + | ucontent = unicode(content, encoding) | ||
| + | </source> | ||
}} | }} | ||
Revisión de 08:14 7 dic 2011
Ejercicio con fichero csv de opendata euskadi
|
Usa los datos del fichero csv de http://opendata.euskadi.net/w79-contgen/es/contenidos/ds_general/sueldos_altos_cargos_2011/es_sueldos/altos_cargos_asesores.html Crea un programa que:
|
Tip:
Los ficheros tienen caracteres codificados y pueden dar problemas si no se codifican bien. Una buena práctica es trabajar con unicode, como muestra en este ejemplo.
# Siguiendo nuestro ejemplo: import urllib2 url = 'http://opendata.euskadi.net/w79-contgen/es/contenidos/ds_general/sueldos_altos_cargos_2011/es_sueldos/contenidos/ds_general/sueldos_altos_cargos_2011/es_sueldos/adjuntos/sueldos_2011.csv' req = urllib2.urlopen(url) content = req.read() # extraer el encoding de la cabecera encoding=req.headers['content-type'].split('charset=')[-1] # convertir a unidoce, usando el encoding apropiado ucontent = unicode(content, encoding)