Trabajando con Excel en Python
Leer, transformar y guardar datos
¿Por qué trabajar con Excel?
- Es uno de los formatos más usados
- Datos reales casi siempre vienen en
.xlsx
- Muchas tareas son repetitivas
Problemas comunes
- filtrar manualmente
- copiar y pegar
- errores humanos
- archivos grandes
💡 Idea clave
Python puede hacer esto automáticamente.
Leer un archivo de Excel
df = pd.read_excel("datos.xlsx")
¿Qué es df?
Es un DataFrame:
- tabla
- filas
- columnas
- datos estructurados
Filtrar datos
df_filtrado = df[df["edad"] > 18]
Filtrar con múltiples condiciones
df_filtrado = df[(df["edad"] > 18) & (df["ciudad"] == "Bogotá")]
Crear una nueva columna
df["mayor_edad"] = df["edad"] >= 18
Modificar datos
df["edad"] = df["edad"] + 1
Guardar en un nuevo Excel
df.to_excel("resultado.xlsx", index=False)
Trabajar con varias hojas
df = pd.read_excel("archivo.xlsx", sheet_name="Hoja1")
Guardar múltiples hojas
with pd.ExcelWriter("salida.xlsx") as writer:
df.to_excel(writer, sheet_name="Datos")
Ejemplo real
Archivo: estudiantes.xlsx
Queremos:
- filtrar mayores de edad
- guardar resultado
import pandas as pd
df = pd.read_excel("estudiantes.xlsx")
df = df[df["edad"] >= 18]
df.to_excel("mayores.xlsx", index=False)
💡 Esto ya es automatización
Sin abrir Excel.
Error común
Olvidar:
Resultado:
→ aparece una columna extra innecesaria
Reto
Tienes un archivo ventas.xlsx
Debes:
- filtrar ventas mayores a 100
- guardar en
ventas_altas.xlsx
Solución
import pandas as pd
df = pd.read_excel("ventas.xlsx")
df = df[df["ventas"] > 100]
df.to_excel("ventas_altas.xlsx", index=False)
Cierre
Python permite trabajar con Excel de forma:
- rápida
- reproducible
- sin errores manuales