Este proyecto realiza la extracción, transformación y carga de datos (ETL) del Índice de Precios al Consumidor (IPC) por regiones de la canasta básica del INDEC, abarcando el período desde 2017 y manejando la carga de nuevos datos para mantenerla actualizada.
El scraping y la normalización se realizaron completamente en un cuaderno de Jupyter, destacando el uso de técnicas avanzadas para superar las limitaciones del sitio web del INDEC, como el renderizado de contenido dinámico con JavaScript.
Ahora el proceso es completamente automático: con un solo clic, puedes actualizar la información, incluso si el INDEC agrega más tablas o modifica la estructura de los datos.
-
Automatización completa:
- El proceso se encuentra automatizado en su totalidad, desde la extracción hasta el guardado en CSV o la carga en Alphacast.
- Con un solo clic, puedes obtener los datos actualizados del INDEC, sin importar si se agregan nuevas tablas o se modifica la estructura del sitio.
-
Desafío del scraping:
- El HTML del INDEC es renderizado dinámicamente con JavaScript, lo que imposibilita el scraping tradicional.
- Se implementaron soluciones avanzadas para obtener los datos de manera confiable, sin depender de URLs directas, que suelen cambiar con frecuencia.
-
Transformaciones avanzadas de datos:
- Los datos descargados estaban en un formato horizontal y desestructurado, sin tablas ni columnas organizadas.
- Se realizaron transformaciones profundas para estructurar los datos de manera adecuada para su análisis con Pandas.
- Fechas mal formateadas y columnas desordenadas fueron normalizadas.
-
Manejo de datos faltantes y errores:
- Se emplearon técnicas como la interpolación y el relleno de valores nulos utilizando datos de meses anteriores y posteriores.
- Validación de datos para garantizar integridad y coherencia.
-
Formato CSV para analisis:
- Los datos transformados se guardan en formato CSV. O puedes facilitar tus claves para subirlos a Alphacast y facilitar su análisis y visualización.
.gitignore
: Archivo para excluir archivos y directorios como el entorno virtual.explicacion.ipynb
: Cuaderno Jupyter que detalla el scraping, la normalización y el análisis de los datos paso a paso.- Fuente de datos: INDEC - IPC.
requirements.txt
: Librerías necesarias para ejecutar el cuaderno.
Para ejecutar el proyecto en tu entorno local:
-
Clonar el repositorio:
git clone https://github.com/mauricioarcez/reto-tecnico.git
-
Crear un entorno virtual:
python -m venv venv
-
Activar el entorno virtual: En Windows:
venv\Scripts\activate
-
Instalar las dependencias:
pip install -r requirements.txt
Ejecutar el cuaderno Jupyter: explicacion.ipynb