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 21: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)