Transformaciones de Datos ETL con Python y MySQL
Clase 20 de 24 • Curso de ETL e ingesta de datos con Python
Contenido del curso
Técnicas Efectivas de Transformación de Datos
- 5
Lectura y Exploración de Archivos CSV con Pandas en Python
00:00 min - 6
Manejo de Archivos Excel con Pandas para Procesos ETL
00:00 min - 7
Ingesta de Datos desde APIs con Python
00:00 min - 8
Conexión y consulta de bases de datos en Python con SQLite3 y SQLAlchemy
00:00 min - 9
Series y DataFrames en Pandas: Diferencias y Usos Prácticos
00:00 min - 10
Métricas Clave en el Perfilado de Datos para Análisis de Calidad
00:00 min - 11

Limpieza de Datos en Python con Pandas
08:04 min - 12
Filtrado, Selección y Transformación de Datos con Pandas
00:00 min - 13
Agrupación y Resumen de Datos con Pandas
00:00 min - 14

Manipulación Avanzada de Datos con Python y Pandas
09:06 min
Carga de Datos y Proyecto Final
- 15
Exportación de DataFrames a CSV con Pandas paso a paso
00:00 min - 16
Gestión de Datos: Carga Completa vs. Carga Incremental en Python
00:00 min - 17
Partición de Datos en Archivos CSV con Pandas
00:00 min - 18

Carga Incremental de Datos en Archivos Excel con Python
05:10 min - 19

Importación de la Base de Datos Sakila en MySQL Workbench
04:52 min - 20

Transformaciones de Datos ETL con Python y MySQL
Viendo ahora - 21

Transformaciones de Datos con Python y SQL
13:38 min - 22

Buenas prácticas y errores comunes en procesos ETL
04:17 min - 23

Carga y Validación de Datos en Sakila ETL con Python y SQL
06:29 min - 24

Fundamentos de ETL con Python: Extracción, Transformación y Carga de Datos
01:34 min
¿Qué vamos a hacer en este proyecto de ETL?
Prepara tus herramientas y conocimientos de Python y MySQL, porque en este proyecto llevaremos a cabo un proceso completo de Extracción, Transformación y Carga (ETL). Utilizaremos como base nuestra base de datos existente llamada "Shakira". Las transformaciones a realizar son únicas y permitirán optimizar y reorganizar los datos de la tabla de actores. Al finalizar, todo lo que transformemos se transferirá a una nueva base de datos, "Shakira ETL". Descubramos los emocionantes pasos que realizaremos a continuación.
¿Cuáles son las transformaciones clave del proyecto?
- Filtrado de actores: Identificaremos aquellos actores cuyo nombre empieza con la letra 'a'.
- Creación de una columna completa para el nombre: Concatenaremos las columnas
first nameylast namepara formar la columnafull name. - Calcular la longitud del nombre: Crearemos
namelends, que reflejará la longitud total del nombre. - Conversiones a mayúsculas: Todos los nombres se convertirán a mayúsculas.
- Filtrado por longitud del nombre: Mantendremos actores cuyo
full namesea mayor de diez caracteres. - Cálculo del año de registro: Determinaremos el año en el cual cada actor se registró.
- Agrupación por apellido: Agruparemos los datos por
last namey contaremos cuántos actores comparten el mismo apellido. - Indicador de nombre único: Añadiremos una columna que marca si un actor tiene un nombre único.
- Estatus del actor: Se agregará un estatus para indicar si el actor tiene más de diez años en la base de datos.
- Eliminación de una columna innecesaria: Finalmente, se eliminará la columna
last update.
¿Cómo nos conectamos a MySQL con Python?
Para comenzar, debemos garantizar una conexión estable con MySQL. Aquí están los pasos para conectarnos exitosamente:
- Importación de librerías necesarias:
-
MySQL Connector: Para manejar la conexión con MySQL. -
Pandas: Para realizar transformaciones de datos. -
SQLAlchemy: Para ayudar en la carga de datos. -
datetime: Para trabajar con campos de fecha.import mysql.connector import pandas as pd import sqlalchemy from datetime import datetime
- Configuración de la conexión:
-
Se utiliza "localhost" para servidores locales.
-
Proporciona tus credenciales como usuario y contraseña.
-
Conéctate a la base de datos "Shakira".
connection = mysql.connector.connect( host='localhost', user='root', password='yourpassword', database='Shakira' ) cursor = connection.cursor()
- Extracción de datos:
-
Utilizamos una consulta SQL simple para obtener todos los campos de la tabla de actores.
-
Transformamos los resultados en un data frame de Pandas para su manipulación.
query = "SELECT * FROM actor" cursor.execute(query) results = cursor.fetchall() columns = [col[0] for col in cursor.description] df_actors = pd.DataFrame(results, columns=columns)
- Seguridad de conexiones:
-
Siempre cierra la conexión cuando no es necesaria para evitar problemas de seguridad.
connection.close()
Ahora que hemos establecido la conexión y extraído los datos iniciales de MySQL usando Python, tenemos la base perfecta para iniciar las transformaciones. Si encontraste algún obstáculo, no dudes en compartirlo y juntos encontraremos la solución. Adelante, queda mucho por explorar y aprender en próximas etapas. ¡Nos vemos en el siguiente reto ETL!