import pandas as pd import PySimpleGUI as sg sg.theme("Brownblue") layout = [[sg.T("")], [sg.Text("Choisir le fichier CSV: "), sg.Input(key="-IN2-", change_submits=True), sg.FileBrowse(key="-IN-", file_types=(("Text Files", "*.csv")))], [sg.Button("Submit")]] window = sg.Window('VIDEOTRON MOBILE DATA CALCULATOR', layout, size=(600, 150)) while True: event, values = window.read() if event == sg.WIN_CLOSED or event == "Exit": break elif event == "Submit": pd.set_option('display.max_rows', None) df = pd.read_csv(values["-IN2-"], sep=";", encoding='unicode_escape', decimal=",", usecols=[9, 20, 39]) df.replace('UTILISATION POUR LE', '', regex=True, inplace=True) df = df.set_axis(['USER', 'B', 'DATA'], axis=1) df = df.replace('é', 'e', regex=True) df = df.replace('Ã', 'E', regex=True) df = df.replace('E´', 'o', regex=True) df = df.replace('E§', 'c', regex=True) df = df.replace('‰', '', regex=True) df = df[df['B'].str.contains('DONN')] df['DATA'] = df['DATA'].apply( lambda x: float(x.split()[0].replace(',', '.'))) datasum = df.groupby('USER')['DATA'].sum(min_count=1).reset_index() print(datasum)