<code>
import glob
import math
import os
import pandas as pd
import zipfile
import warnings

# ignoro warning di openpyxl
warnings.filterwarnings("ignore", category=UserWarning, module="openpyxl")

folder_path = '.'

df_list = []

# scorro tutti i file .xlsx nella cartella
for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx'):
        file_path = os.path.join(folder_path, filename)
        try:
            df = pd.read_excel(file_path, engine='openpyxl')
            df_list.append(df)
        except Exception as e:
            print(f"Errore nel file {filename}: {e}")

# combino tutti i dataframe in uno solo
df = pd.concat(df_list, ignore_index=True)
df['Account'] = df['Account'].astype(str)

#creo il dataframe
df = df[['Account', 'Category','Direction','Unit price (per 100)','Quantity','Total per unit']]
df["Total per unit"] = pd.to_numeric(df["Total per unit"], errors="coerce")
df = df[df["Total per unit"] > 0]

#associo ogni apikey al cliente
api_keys = {
    "Lario Reti Holding S.P.A. - BeCloud Solutions": {
        "nome": "LRH"
    },
    "SONOVA ITALIA S.R.L. - BeCloud Solutions":{
        "nome": "Sonova"
    }
}
#creo i dataframes per ogni apikey
accounts = df["Account"].unique()
for account in accounts:
    df['Account'] = df['Account'].replace({account: api_keys[account]["nome"]})
dfs = {sender: group for sender, group in df.groupby('Account')}
dfs = list(dfs.values())
#faccio i conti e stampo
for d in dfs:
    sms = d[d["Direction"] == "Outbound"]["Quantity"].sum()
    cost_sms = round(d[d["Direction"] == "Outbound"]["Total per unit"].sum(),2)
    print("\033[1m",d["Account"].iloc[0],"\033[0m")
    print("\tSMS: ", sms)
    print("\tCosto a noi SMS: ", cost_sms, "€")
</code>