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=(("CSV 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().sort_values(by='DATA') print(datasum)