lunes, 3 de marzo de 2014

Incorporando datos de locales comerciales en Aluche en Excel (I)

Hoy comenzamos una pequeña serie de posts para mostraros cómo se puede enlazar nuestra API con una herramienta que muchos utilizamos casi a diario, como Microsoft Excel. Bueno, para aquellos a los que os gusta OpenOffice o LibreOffice también os enseñaremos cómo hacerlo, que no tenemos acciones de Microsoft ;-).

El ejemplo lo vamos a hacer con los datos de locales comerciales de un barrio de Madrid. Y como soy yo quien elige el barrio, vamos a hacerlo con Aluche (porque me recuerda los tiempos que pasé de pequeño allí con mis abuelos y porque tanto Juan Carlos como yo estamos muy unidos a algún que otro pueblo de Toledo, y en Aluche abundan calles con sabor toledano).

Así que empezaremos como siempre, metiéndonos en nuestro portal de datos (si todavía no habéis creado vuestro usuario, ya va siendo hora, jeje) y buscando la llamada a la API que debemos usar.

Hay varias posibilidades para obtener información de Barrios (de hecho, hay una sección entera de la API dedicada a sacar información de barrios). Pero no estamos tan interesados en los barrios como lo estamos en los locales comerciales que están en el barrio, así que la llamada que estamos buscando es la siguiente:

http://datos.localidata.com/recurso/comercio/Provincia/Madrid/Municipio/madrid/Local/Barrio/Label/<nombre del barrio>

Por tanto, como siempre, vamos a hacer la llamada correspondiente, y veamos qué obtenemos...

Ahh, como siempre, recordad poner vuestra API_key, que si no no funcionará nada y aparecerá nuestra amiga Mari. Un día os comentaremos más sobre ella.



Bueno, lo dicho, vamos a obtener la lista de locales comerciales en Aluche, y como habrá bastantes, iremos obteniéndolos de 50 en 50 (para eso ponemos el parámetro _pageSize=50). Si no establecemos el número de locales a obtener en cada página, los obtendremos de 10 en 10.
http://datos.localidata.com/recurso/comercio/Provincia/Madrid/Municipio/madrid/Local/Barrio/Label/Aluche?_sort=label&_page=0&_pageSize=50&api_key=<TU API KEY>

Y si vamos cambiando el parámetro _page podremos ir viendo los siguientes 50 (_page=1), y los siguientes 50 (_page=2), y así hasta que ya no haya más locales allá por la página 45 (porque tenemos ahora mismo 2250 locales registrados en el barrio).

Como estamos interesados en importar nuestros datos en Excel, recomiendo que saquemos los datos en el formato CSV (comma-separated values). Así que pincharemos en el enlace que aparece arriba, donde pone csv, y veamos qué sale.


Si nos fijamos en lo que aparece como URL, vemos que ahora nuestra URL original se ha convertido en la misma URL con una extensión .csv. Así que esta es otra forma de obtener un CSV directamente.

Asimismo, según tengamos configurado nuestro navegador nos saldrá algo como lo mostrado en la imagen, o el navegador nos preguntará que si queremos abrir o guardar el archivo. En cualquier caso, guardaremos el resultado como un fichero, con extensión csv. Por ejemplo, Aluche_página1.csv.

A continuación ya podemos importar en Excel. El proceso es sencillo:
  • Abrimos Excel.
  • Creamos un nuevo documento.
  • En el menú Archivo seleccionamos Importar...
  • Seleccionamos Archivo CSV (como se muestra en la figura de abajo)
  • Seguimos los pasos por defecto del importador...
  • Y nuestros datos ya están disponibles para trabajar en Excel.


Y aquí el resultado...



En los próximos posts de esta serie, os contaremos cómo sacar todos los locales comerciales de una sola vez, en un único CSV, y cómo obtener más información de cada uno de los locales comerciales, y no sólo su identificador, rótulo y dirección.