from pathlib import Path
import pandas as pd
# 1. Read every CSV file in the folder
cols = ["customer", "date", "amount"]
df = pd.concat(pd.read_csv(f, names=cols, header=0)
for f in Path("input").glob("*.csv"))
# 2. Clean names, dates and amounts
df["customer"] = df["customer"].str.strip().str.title()
df["date"] = pd.to_datetime(df["date"], format="mixed", dayfirst=True, errors="coerce")
df["amount"] = pd.to_numeric(df["amount"].astype(str).str.replace(",", ""), errors="coerce")
# 3. Drop empty rows and duplicates
df = df.dropna().drop_duplicates(["customer", "date"])
# 4. Save a clean Excel report with a summary sheet
with pd.ExcelWriter("report.xlsx") as xl:
df.sort_values("customer").to_excel(xl, sheet_name="Data", index=False)
df.groupby("customer")["amount"].sum().to_excel(xl, sheet_name="Summary")