Pipeline de datos en Python que extrae información desde la API de Notion, transforma los datos y genera un reporte automatizado en Excel para su posterior consumo en Power BI.
Este proyecto automatiza la consolidación de información sobre el progreso de creación de cursos en una plataforma LMS, permitiendo visualizar métricas de avance mediante un dashboard interactivo.
En muchos equipos de desarrollo de contenido educativo, la información sobre el progreso de creación de cursos se gestiona en herramientas colaborativas como Notion. Sin embargo, analizar estos datos requiere exportarlos manualmente y prepararlos para herramientas de visualización.
Este proyecto resuelve ese problema mediante un pipeline automatizado de datos que:
- Se conecta a la API de Notion
- Extrae registros desde una base de datos de cursos
- Limpia y transforma los datos
- Genera un reporte estructurado en Excel
- Permite alimentar un dashboard de Power BI
El resultado es un flujo de datos automatizado que facilita el seguimiento del progreso de creación de contenido educativo.
Antes de este pipeline:
- La información debía exportarse manualmente desde Notion
- Era necesario limpiar y estructurar los datos manualmente
- La actualización del dashboard requería preparación previa
Con este proyecto:
- Los datos se extraen automáticamente desde la API
- Se transforman y consolidan en un formato analítico
- El reporte final está listo para ser consumido por Power BI
Esto reduce significativamente el tiempo de preparación de datos y mejora la visibilidad del progreso de producción de cursos.
Notion Database
│
▼
Extracción de datos (API Notion)
│
▼
Transformación y limpieza (Pandas)
│
▼
Generación de reporte Excel
│
▼
Dashboard en Power BI
- Python
- Pandas
- Requests
- DotEnv
- Notion API
- Power BI
Este proyecto demuestra el uso de Python para automatización de procesos de análisis de datos e integración con herramientas de Business Intelligence.
notion_data_pipeline
│
├── src/
│ ├── extract_notion.py
│ ├── transform_data.py
│ └── load_excel.py
│
├── config/
│ └── config.py
│
├── data/
│ └── processed/
│ └── notion_data.xlsx
│
├── .env
├── .gitignore
├── main.py
├── README.md
└── requirements.txt
Este proyecto utiliza variables de entorno para proteger credenciales de acceso a la API de Notion.
-
Crea un archivo
.envbasado en el siguiente ejemplo:NOTION_API_KEY=your_api_key_here DATABASE_ID=your_database_id_here
-
Clonar el repositorio:
git clone https://github.com/ayorick23/notion_data_pipeline.git
-
Entrar al directorio del proyecto:
cd notion_data_pipeline -
Instalar dependencias:
pip install -r requirements.txt
Para ejecutar el pipeline completo:
python main.pyEsto realizará:
- Conexión con la API de Notion
- Extracción de datos de la base de datos
- Transformación de la información
- Generación del reporte Excel
El archivo Excel generado por el pipeline es utilizado como fuente de datos para un dashboard en Power BI que permite visualizar:
- Progreso de creación de cursos
- Estado de desarrollo de contenidos
- Métricas de producción
- Seguimiento del avance por curso
Este pipeline permitió:
- Automatizar la generación de reportes de seguimiento de cursos
- Reducir el tiempo de preparación de datos
- Centralizar información para análisis en Power BI
- Facilitar el monitoreo del progreso de producción de contenido educativo
- Programar ejecución automática del pipeline (scheduler)
- Exportación adicional a formatos CSV o base de datos
- Manejo avanzado de paginación en la API de Notion
- Logs y monitoreo del pipeline
Dereck Méndez
Data Analyst | Business Intelligence | Python for Data Automation
Actualmente enfocado en el desarrollo de soluciones de automatización y análisis de datos con Python aplicadas a procesos empresariales.
