add dashboard
This commit is contained in:
parent
3a7a3849ae
commit
ef801609cb
6 changed files with 822 additions and 1 deletions
|
@ -3,6 +3,7 @@
|
|||
# colonnes du csv: date; mots; intrigues; personnages; personnages_mots;
|
||||
|
||||
import csv
|
||||
import os
|
||||
from datetime import date, timedelta, datetime
|
||||
|
||||
def mise_a_jour_suivi(fichier_csv, fichier_livre, fichier_personnages):
|
||||
|
@ -23,6 +24,32 @@ def mise_a_jour_suivi(fichier_csv, fichier_livre, fichier_personnages):
|
|||
intrigues = 5
|
||||
|
||||
# Mettre à jour le fichier de suivi
|
||||
# Vérifier si le fichier existe et s'il commence par un commentaire
|
||||
file_exists = os.path.exists(fichier_csv)
|
||||
needs_comment = False
|
||||
|
||||
if not file_exists:
|
||||
needs_comment = True
|
||||
else:
|
||||
with open(fichier_csv, 'r') as f:
|
||||
first_line = f.readline().strip()
|
||||
if not first_line.startswith('#'):
|
||||
needs_comment = True
|
||||
|
||||
if needs_comment:
|
||||
# Sauvegarder le contenu existant si le fichier existe
|
||||
content = ""
|
||||
if file_exists:
|
||||
with open(fichier_csv, 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# Réécrire le fichier avec un commentaire en tête
|
||||
with open(fichier_csv, 'w', newline='') as f:
|
||||
f.write('# Ce fichier est un CSV et ne doit pas être exécuté directement avec Python.\n')
|
||||
if content:
|
||||
f.write(content)
|
||||
|
||||
# Ajouter la nouvelle ligne
|
||||
with open(fichier_csv, 'a', newline='') as csvfile:
|
||||
writer = csv.writer(csvfile, delimiter=';')
|
||||
now = datetime.now()
|
||||
|
@ -38,7 +65,16 @@ def analyse_csv(fichier_csv):
|
|||
|
||||
with open(fichier_csv, 'r') as csvfile:
|
||||
reader = csv.reader(csvfile, delimiter=';')
|
||||
donnees = list(reader)
|
||||
donnees = []
|
||||
for row in reader:
|
||||
# Ignorer les lignes de commentaire qui commencent par #
|
||||
if row and not row[0].startswith('#'):
|
||||
donnees.append(row)
|
||||
|
||||
# Si aucune donnée valide n'a été trouvée, retourner
|
||||
if not donnees:
|
||||
print("Aucune donnée valide trouvée dans le fichier CSV.")
|
||||
return
|
||||
|
||||
# Récupérer les dates et les nombres de mots
|
||||
dates = [datetime.fromisoformat(donnee[0]).date() for donnee in donnees]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue