Hace poco, necesitaba analizar un archivo CSV que contenía más de 1 millón de filas. Como bien sabes, Excel tiene un límite de filas que no permite cargar este volumen de datos directamente en una hoja de cálculo. Además, Python, por sí solo, no puede conectarse a un archivo tan grande sin ciertos ajustes.
Aquí es donde entra Power Query como solución. Esta herramienta nos permite conectarnos al archivo, realizar una transformación básica y luego, desde Python integrado en Excel, consumir esa conexión para hacer análisis avanzados.
Analiza +1 Millón de Datos usando Python en Excel y Power Query
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
Paso 1: Conectarse al Archivo con Power Query
El archivo que usaré, llamado datos_1m.csv, contiene más de un millón de registros con información como fechas, montos, tipos de transacción, métodos de pago y categorías.
- Ve a la pestaña Datos en Excel y selecciona Obtener datos > Desde archivo de texto/CSV.
- Selecciona el archivo desde tu computadora y haz clic en Importar.
- Una vez cargado, haz clic en Transformar datos para abrir Power Query.
Aquí no necesitamos transformar nada, ya que los datos están limpios. Simplemente selecciona Cerrar y cargar en… y elige Crear solo conexión. Esto evitará que los datos ocupen espacio en Excel y nos permitirá acceder a ellos desde Python.
Paso 2: Conexión entre Python y Power Query
Para que Python trabaje con esta conexión, usamos la funcionalidad de Python integrada en Excel (disponible en Microsoft 365).
- Ve a la pestaña Fórmulas y selecciona Editor de Python.
- Agrega una nueva celda de Python y expande el editor.
- Escribe o pega el siguiente código:
import pandas as pd
import matplotlib.pyplot as plt
# Cargar el archivo CSV (asegúrate de ajustar el nombre y ruta)
data = xl("Datos1M")
# --- 3. Análisis Temporal (Ingresos Mensuales) ---
data['FECHA'] = pd.to_datetime(data['FECHA'], format='%d/%m/%Y')
data['MES'] = data['FECHA'].dt.to_period('M')
ingresos_mensuales = data.groupby('MES')['MONTO'].sum()
plt.figure(figsize=(10, 6))
ingresos_mensuales.plot(kind='line', marker='o', color='green')
plt.title('Ingresos Mensuales')
plt.xlabel('Mes')
plt.ylabel('Ingresos Totales')
plt.grid()
plt.show()
- Ejecuta el código presionando
Ctrl + Entery espera a que Python procese los datos.
El resultado es un gráfico que muestra los ingresos mensuales por fecha, todo generado directamente en Excel.
Paso 3: Análisis Adicional con Tablas
Además de gráficos, puedes devolver tablas de análisis directamente a las celdas de Excel. Por ejemplo, para obtener los ingresos por método de pago:
- Modifica el código para realizar este análisis:
import pandas as pd
# Cargar el archivo CSV (ajusta el nombre y la ruta del archivo)
data = xl("Datos1M")
# Convertir la columna FECHA a formato datetime
data['FECHA'] = pd.to_datetime(data['FECHA'], format='%d/%m/%Y')
# --- 2. Ingresos por Método de Pago ---
ingresos_metodo_pago = data.groupby('MÉTODO DE PAGO')['MONTO'].sum().reset_index()
ingresos_metodo_pago.columns = ['MÉTODO DE PAGO', 'INGRESOS']
data = ingresos_metodo_pago
- Ejecuta el código y selecciona la opción Devolver valores a Excel desde la barra de fórmulas.
Esto genera una tabla dinámica en Excel con los métodos de pago y sus respectivos ingresos.
Ventajas de Usar Python en Excel
Al combinar Python con Excel, abres un abanico de posibilidades, como:
- Crear visualizaciones avanzadas.
- Analizar grandes volúmenes de datos sin depender de herramientas externas.
- Automatizar procesos de limpieza y transformación de datos.
Lo mejor es que no necesitas instalar nada adicional. Python en Excel funciona en la nube, por lo que solo necesitas una conexión a Internet.
Certifícate en Excel
Tienes experiencia en Excel y quieres mejorar tus oportunidades laborales? Obtén la Certificación Excel Expert avalada por Microsoft.
