Skip to content

carlosfong02/spotify-data-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipeline de Datos de Spotify y Análisis con SQL

Python

Este proyecto es un pipeline de ETL (Extracción, Transformación y Carga) completamente funcional que recolecta datos de una playlist de Spotify utilizando su API oficial. Los datos son procesados y limpiados con Python y la librería Pandas, y posteriormente almacenados en una base de datos SQLite.

Adicionalmente, incluye un script de análisis para ejecutar consultas SQL sobre los datos recolectados y generar insights, como el top 5 de canciones más populares y el número de canciones por artista.

Flujo del Proyecto

El diagrama a continuación ilustra el flujo de los datos a través del sistema:

[Spotify API] -> [spotify_etl.py (Python/Pandas)] -> [spotify_playlist.db (SQLite)] -> [analysis.py (SQL/Pandas)] -> [Resultados en Terminal]

Características

  • Extracción de datos de cualquier playlist pública de Spotify.
  • Procesamiento y limpieza de datos con Pandas para crear una tabla estructurada.
  • Carga de los datos limpios a una base de datos local SQLite.
  • Manejo seguro de credenciales utilizando variables de entorno.
  • Script de análisis separado para consultar la base de datos con SQL.

Tecnologías Utilizadas

  • Python
  • Pandas
  • SQLite3
  • Requests
  • Spotify Web API

Configuración e Instalación

Para ejecutar este proyecto localmente, sigue estos pasos:

  1. Clona el repositorio:

    git clone [https://github.com/carlosfong02/spotify-data-pipeline.git](https://github.com/carlosfong02/spotify-data-pipeline.git)
    cd spotify-data-pipeline
  2. Instala las dependencias: Asegúrate de tener Python 3 instalado. Luego, ejecuta:

    pip install -r requirements.txt
  3. Configura las variables de entorno: Crea un archivo llamado .env en la raíz del proyecto y añade tus credenciales de la API de Spotify y el ID de la playlist:

    SPOTIPY_CLIENT_ID="TU_CLIENT_ID"
    SPOTIPY_CLIENT_SECRET="TU_CLIENT_SECRET"
    PLAYLIST_ID="EL_ID_DE_TU_PLAYLIST"
    

Uso

  1. Ejecuta el pipeline ETL para extraer, transformar y cargar los datos en la base de datos:
    python spotify_etl.py
  2. Ejecuta el script de análisis para ver los insights generados a partir de los datos:
    python analysis.py

Ejemplo de Salida del Análisis

--- TOP 5 CANCIONES MÁS POPULARES ---
           Nombre Canción                           Artistas  Popularidad
                La Diabla                               Xavi           95
             HARLEY QUINN          Fuerza Regida, Marshmello           94
                  LOU LOU  Gabito Ballesteros, Natanael Cano           90
...

--- NÚMERO DE CANCIONES POR ARTISTA (TOP 5) ---
           Artistas  Cantidad
               Xavi         3
          Bad Bunny         2
...

About

Pipeline de datos ETL que extrae datos de Spotify y ejecuta análisis con Python y SQL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages