Misión M33 · Python · 30 min
Automatiza el reporte regional a Excel
Pedido de tu gerente
Cada lunes alguien pasa una hora copiando números a Excel. Tu jefe: "Escribe un script que arme el reporte de ventas por región y año y lo guarde como archivo de Excel. Luego dime qué región creció más en 2025 y cuánto."
Datos
Descarga el/los archivo(s) de práctica:
Pasos
- Carga sales_flat.csv y agrega una columna de año con df['order_date'].dt.year.
- Arma una tabla dinámica con pd.pivot_table(index='region', columns='year', values='net_sales', aggfunc='sum').
- Agrega una columna growth_pct: (2025 / 2024 - 1) * 100, redondeada a 2 decimales.
- Guárdala con pivot.to_excel('regional_report.xlsx', sheet_name='Regions') (usa openpyxl).
- Imprime la región con mayor crecimiento.
- Opcional: programa el script con el Programador de tareas de Windows o con cron para que corra cada lunes.
Revisa tu respuesta
¿Cuál fue el crecimiento % de 2025 vs 2024 de la región que más creció?
Ver solución
Central fue la que más creció: de $28,188.64 a $31,488.33, un aumento de 11.71% (North 6.84%, South 5.11%, West 1.80%).
import pandas as pd
df = pd.read_csv('sales_flat.csv', parse_dates=['order_date'])
df['year'] = df['order_date'].dt.year
pivot = pd.pivot_table(df, index='region', columns='year',
values='net_sales', aggfunc='sum').round(2)
pivot['growth_pct'] = ((pivot[2025] / pivot[2024] - 1) * 100).round(2)
pivot.to_excel('regional_report.xlsx', sheet_name='Regions')
print(pivot)
print(pivot['growth_pct'].idxmax(), pivot['growth_pct'].max())Respuesta: 11.71 %