1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| import glob
import urllib.request
from lxml import etree
from urllib.error import URLError, HTTPError
import base64
import csv
import sys
import os
import time
from datetime import datetime
from pathlib import Path
import smbus as smbus
#import file_read_backwards
current_datetime = datetime.now()
current_date = current_datetime.strftime("%B%Y")
#print(current_date)
Mois=['Jjanvier','février','mars','avril','mai','juin','juillet','aout','septembre','octobre','novembre','décembre']
mois = current_datetime.date().month
#print(Mois[mois])
Q = Mois[mois-1]
#print(Q)
current_date = Q + current_datetime.strftime("%Y")
Record_dir = '/home/pi/Domotique/Donnees_Temperature/' + current_date
Record_file = Record_dir + f"/{current_date}.txt"
Day_File_Salon = Record_dir + f"/Data_Temp_Day_Salon.txt"
Day_File_Chambre = Record_dir + f"/Data_Temp_Day_Chambre.txt"
Day_File_ECS = Record_dir + f"/Data_Temp_Day_ECS.txt"
print(Day_File_Salon)
Date = 0
Heure = 1
Salon = 2
Chambre = 3
ECS = 4
def Selection_Data_Plot(Data_File,Piece,Day_File):
#Calcul du nombre de lignes dans le fichier
with open(Data_File, 'r')as f_plot :
total_lines = sum(1 for line in f_plot)
# print(total_lines)
# Calcul du dernier jour présent dans le fichier
with open(Data_File, 'r')as f_plot :
i = 0
lines_plot = f_plot.readlines()[-1]
Jour_Courant = lines_plot.split(",")[0].split("-")[0]
# print(int(Jour_Courant))
# print(lines_plot.split(",")[0].split("-")[0])
#Je parcours le fichier avec un itérateur pour trouver la ligne où le dernier jour commence
with open(Data_File, 'r')as f_plot :
lines_plot = f_plot.readlines()[1:]
# print(lines_plot[1])
Jour = int(lines_plot[1].split(",")[0].split("-")[0])
# print(Jour)
while int(Jour) < int(Jour_Courant):
for line in lines_plot:
# print(int(Jour_Courant))
Jour = line.split(",")[0].split("-")[0]
# print(Jour)
i = i + 1
line = f_plot.readline()
print(i)
#Enregistrement des donnees
with open(Data_File, 'r')as f_plot :
lines_plot = f_plot.readlines()[i:total_lines]
print(i)
print(total_lines)
for line in lines_plot:
Date = line.split(",")[0:1]
Temp_Salon = float(line.split(",")[Piece])
with open(Day_File, "a", newline="", encoding="utf-8") as f:
data_to_write = {Date, Temp_Salon}
print(data_to_write)
f.write(data_to_write)
f.close()
print(i)
data_plot_Salon = Selection_Data_Plot(Record_file,Salon,Day_File_Salon) |
Partager