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

  1. Carga sales_flat.csv y agrega una columna de año con df['order_date'].dt.year.
  2. Arma una tabla dinámica con pd.pivot_table(index='region', columns='year', values='net_sales', aggfunc='sum').
  3. Agrega una columna growth_pct: (2025 / 2024 - 1) * 100, redondeada a 2 decimales.
  4. Guárdala con pivot.to_excel('regional_report.xlsx', sheet_name='Regions') (usa openpyxl).
  5. Imprime la región con mayor crecimiento.
  6. 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 %