0% ont trouvé ce document utile (0 vote)
19 vues4 pages

Statistiques

Ce document contient un code Python utilisant Tkinter pour afficher des statistiques de consommation à partir d'un fichier CSV. Il permet de calculer et d'afficher la consommation totale, moyenne, maximum et minimum, ainsi que de générer un graphique des consommations au fil du temps. Des messages d'erreur sont également gérés pour informer l'utilisateur en cas de problème avec le fichier CSV.

Transféré par

ndongoemma5935
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues4 pages

Statistiques

Ce document contient un code Python utilisant Tkinter pour afficher des statistiques de consommation à partir d'un fichier CSV. Il permet de calculer et d'afficher la consommation totale, moyenne, maximum et minimum, ainsi que de générer un graphique des consommations au fil du temps. Des messages d'erreur sont également gérés pour informer l'utilisateur en cas de problème avec le fichier CSV.

Transféré par

ndongoemma5935
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

import tkinter as tk

from tkinter import messagebox

import csv

import os

import [Link] as plt

from [Link].backend_tkagg import FigureCanvasTkAgg

# Chemin du fichier CSV

csv_file =
[Link]([Link]([Link]([Link](__file__))),
'data', '[Link]')

def afficher_statistiques():

if not [Link](csv_file):

[Link]("Erreur", "Aucun relevé disponible.")

return

try:

consommations = []

# Lecture du fichier CSV

with open(csv_file, 'r') as f:

reader = [Link](f)

for row in reader:

consommation = float(row['consommation'])

[Link](consommation)

if not consommations:

[Link]("Statistiques", "Aucune donnée à analyser.")

return
total = sum(consommations)

moyenne = total / len(consommations)

maximum = max(consommations)

minimum = min(consommations)

fenetre = [Link]()

[Link]("Statistiques de consommation")

[Link]("350x250")

[Link](fenetre, text=f"Consommation totale : {total:.2f}


kWh").pack(pady=5)

[Link](fenetre, text=f"Moyenne : {moyenne:.2f}


kWh").pack(pady=5)

[Link](fenetre, text=f"Maximum : {maximum:.2f}


kWh").pack(pady=5)

[Link](fenetre, text=f"Minimum : {minimum:.2f}


kWh").pack(pady=5)

[Link](fenetre, text="Voir le graphique",


command=afficher_graphique).pack(pady=10)

[Link](fenetre, text="Fermer",
command=[Link]).pack(pady=10)

except Exception as e:

[Link]("Erreur", f"Impossible de calculer les


statistiques : {e}")

def afficher_graphique():

if not [Link](csv_file):

[Link]("Erreur", "Aucun relevé disponible.")


return

dates = []

consommations = []

try:

# Lecture du fichier CSV

with open(csv_file, 'r') as f:

reader = [Link](f)

for row in reader:

[Link](row['date'])

[Link](float(row['consommation']))

if not consommations:

[Link]("Graphique", "Aucune donnée à afficher.")

return

# Création de la figure matplotlib

fig, ax = [Link](figsize=(6, 4))

[Link](dates, consommations, marker='o', linestyle='-', color='blue')

ax.set_xlabel('Date')

ax.set_ylabel('Consommation (kWh)')

ax.set_title('Consommation en fonction du temps')

[Link](True)

[Link](rotation=45)

# Fenêtre Tkinter contenant le graphique

fenetre_graph = [Link]()

fenetre_graph.title("Graphique de consommation")
fenetre_graph.geometry("700x500")

canvas = FigureCanvasTkAgg(fig, master=fenetre_graph)

[Link]()

canvas.get_tk_widget().pack()

[Link](fenetre_graph, text="Fermer",
command=fenetre_graph.destroy).pack(pady=10)

except Exception as e:

[Link]("Erreur", f"Erreur lors de l'affichage du


graphique : {e}")

Vous aimerez peut-être aussi