Lección 7 del curso Python Nivel Avanzado.
En la lección anterior vimos cómo realizar el manejo de archivos JSON en Python y precisamente en esta práctica usaremos esta herramienta para procesar datos directamente desde Internet.
Así que en esta primera práctica del curso usaremos lo aprendido en las lecciones anteriores para realizar la lectura y almacenamiento de archivos en diferentes formatos.
En particular veremos cómo usar Python para descargar desde la web un archivo JSON, para posteriormente procesarlo usando diccionarios en Python y finalmente almacenar este resultado del procesamiento en un archivo de texto y en un archivo tipo CSV (comma separated values).
Comencemos viendo en detalle el problema que resolveremos y el objetivo de esta práctica:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En este proyecto usaremos los datos proporcionados por la empresa City Bike de Nueva York, que ofrece un servicio de alquiler de bicicletas con un sistema geo-referenciado para encontrar bicicletas disponibles.
Los datos que usaremos se encuentran almacenados en archivos JSON descargables desde su sitio web. Cada registro contiene campos como el nombre de la estación, la cantidad de puestos disponibles y totales, coordenadas geográficas, el estado de servicio, entre otros.
Así que el objetivo es implementar un programa que lea el archivo JSON de la web, procese la información relevante y exporte los resultados en el formato adecuado.
Teniendo claro este objetivo, veamos cómo realizar la lectura del archivo JSON desde la web:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Para leer el archivo JSON acabamos de hacer uso de dos módulos de la Librería Estándar de Python: «urlopen» y «json que nos permiten realizar la descarga y extraer la información relevante en formato JSON.
Con esto ya estamos listos para realizar el procesamiento del set de datos y la generación del archivo de texto. Veamos cómo hacerlo:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Bien, este procesamiento implica extraer del archivo JSON únicamente la información relevante (nombre de la estación, número de bicicletas disponibles y la dirección) y luego organizamos la información en columnas usando el método «format» de los strings en Python para finalmente crear el archivo de texto correspondiente.
Lo único que nos falta es ver si se requieren algunas modificaciones al formato de los datos para su posterior almacenamiento en un archivo CSV. Veamos entonces esta última parte de la implementación:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Aunque el formato TXT funciona para almacenar datos, no es el más adecuado para los datos que estamos usando en esta práctica (datos tabulares). En este caso es más práctico usar el formato CSV, que es común en Ciencia de Datos y Machine Leaerning y además es compatible con programas como Excel y Google Sheets.
Así que para poder procesar este tipo de archivos hicimos uso del módulo «csv» de la Librería Estándar de Python para lograr un resultado equivalente al obtenido con el archivo de texto, pero con un código más compacto y fácil de entender. Esto permite abrir el archivo en un editor de hojas de cálculo y verlo en formato tabular, facilitando así su interpretación.
Y con esto ya hemos logrado el objetivo de esta práctica y hemos incluido elementos adicionales, como la descarga de archivos directamente desde la web así como un nuevo tipo de formato, el CSV, que como veremos en otros cursos es de uso muy extendido en Ciencia de Datos y Machine Learning.
Así que con esto cerramos esta primera parte del curso y estamos listos para iniciar el segundo módulo, en donde abordaremos todo lo relacionado con la Programación Orientada a Objetos en Python.
Entonces en la próxima lección veremos una introducción a la Programación Orientada a Objetos y hablaremos de algunos conceptos y terminología básica.
Todas las lecciones del curso Python Nivel Avanzado
