Bonjour,
Contexte:
Je bascule une station météo qui est sur un vieux portable en Seven vers un Raspberry (avec WeeWX pour les connaisseurs). J'ai un programme maison en VB NET que j'essaie d'adapter en Python. Je suis néophyte (en Python) J'apprends au fur et à mesure et j'ai du mal avec les listes / tableaux. Les exemples ne sont pas fort clairs pour moi qui vient de + de 40 ans de BASIC, avec que quelques connaissances en c++ et php
J'essaie donc un 1er module (qui n'a rien à voir avec la station météo) que je croyais le + simple![]()
J'ai des relevés de températures/humidités de 8 thermomètres (satellites TFA) répartis en fichiers couvrant chacun une heure de relevés d'au mieux 1 par minute et thermomètre (canal)
L'objectif est d'en agglomérer comme décrit ci dessous pour en faire un fichier qui servira à faire les graphiques (en php/jpGraph après envoi par ftp sur un serveur)
Donc, les 25 derniers fichiers (heures) sont lus en commençant par le dernier (le + récent) ; ça, c'est ok. Je dois les mettre en tableau (canal, date/heure, t°, Hum), puis trier par date selon le canal (ou trier par canal et date)
En VB, je procédais comme suit : (le module complet est joint)
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Structure StTfa Dim Dt As Date ' Date et heure Dim Temp As Single ' Température Dim Hum As Integer ' humidité End Structure Dim Tfa25h(0 To 7, 1500) As StTfa ' 8 capteurs, 25 heures max - 60 minutes Dim nMesure(0 To 7) As Integer 'il peut y avoir un nombre de mesure différent par satellite
Puis lors de la lecture des fichiers, je remplissais le tableau
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 nMesure(Canal) += 1 Tfa25h(Canal, nMesure(Canal)).Dt = Dt Tfa25h(Canal, nMesure(Canal)).Temp = Val(sTbl(2)) '/ 10 Tfa25h(Canal, nMesure(Canal)).Hum = Val(sTbl(3))
Au final, le fichier est une table plate :
Merci de me mettre le pied à l'étrier,Canal ; date ; t° ; hum 0;2021-1-3 17:0;4.1;81 0;2021-1-3 17:1;4.1;81 0;2021-1-3 17:2;4.1;81 0;2021-1-3 17:3;4.1;81 0;2021-1-3 17:4;4.1;81 0;2021-1-3 17:5;4.1;81 0;2021-1-3 17:6;4.1;81 0;2021-1-3 17:7;4.1;81 0;2021-1-3 17:8;4.1;81 0;2021-1-3 17:9;4;81 ...
Blaise
Partager