Ejercicio 8: Maestría en Input/Output con Pandas
En este ejercicio, se busca que los estudiantes adquieran habilidades avanzadas en la manipulación de datos utilizando la biblioteca Pandas, específicamente en la conversión de datos entre múltiples formatos. Este ejercicio es de tipo práctico y tiene un nivel de dificultad intermedio. El resultado esperado es un código funcional que demuestre la capacidad de leer y escribir datos en diferentes formatos.
Objetivos
- Convertir datos entre múltiples formatos utilizando Pandas.
- Demostrar dominio en la lectura y escritura de datos en formatos como CSV, JSON, Excel, Parquet, HTML, XML y SQL.
Entrada de Datos
- Dataset Iris en formato CSV disponible en: Iris Dataset.
Código Base
import pandas as pd
import sqlite3
# 1️⃣ Cargar dataset en CSV
df = pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv")
# 2️⃣ Guardar en diferentes formatos
df.to_json("iris.json", orient="records")
df.to_excel("iris.xlsx", index=False)
df.to_parquet("iris.parquet", index=False)
df.to_html("iris.html", index=False)
df.to_xml("iris.xml", index=False)
# 3️⃣ Leer desde distintos formatos
df_json = pd.read_json("iris.json")
df_excel = pd.read_excel("iris.xlsx")
df_parquet = pd.read_parquet("iris.parquet")
df_html = pd.read_html("iris.html")[0]
df_xml = pd.read_xml("iris.xml")
# 4️⃣ Guardar y leer en SQL
conn = sqlite3.connect(":memory:") # Base de datos temporal en memoria
df.to_sql("iris_table", conn, index=False, if_exists="replace")
df_sql = pd.read_sql("SELECT * FROM iris_table", conn)
# TODO: Implementar
Pruebas
Ejecute el siguiente código para verificar que los datos se han cargado correctamente en múltiples formatos:
# Verificar la carga de datos
print("✅ Datos cargados correctamente en múltiples formatos.")
print(df_sql.head())
Objetivo Final
Al completar este ejercicio, los estudiantes:
- Se sentirán cómodos trabajando con cualquier formato de datos.
- Aprenderán a convertir datos de un formato a otro sin dificultad.
- Dominarán la lectura y escritura en CSV, JSON, Excel, Parquet, HTML, XML y SQL.