from pathlib import Path
import pandas as pd
df = pd.read_excel("all_orders.xlsx")
out = Path("per_region"); out.mkdir(exist_ok=True)
for region, group in df.groupby("region"):
safe = region.replace("/", "_")
group.to_excel(out / f"{safe}.xlsx", index=False)
print(f" wrote {safe}.xlsx ({len(group):,} rows)")
with pd.ExcelWriter("by_region.xlsx") as writer:
for region, group in df.groupby("region"):
safe = region.replace("/", "_")[:31] # Excel sheet name limit
group.to_excel(writer, sheet_name=safe, index=False)
/ \ ? * [ ]. Always sanitise.
df.groupby("col") yields (key, group_df) tuples..to_excel().pd.ExcelWriter + sheet_name=.Take a multi-region orders file and produce one workbook per salesperson, each containing only their rows.