39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
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)
|