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)
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
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 :
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
...
Merci de me mettre le pied à l'étrier,
Blaise
Partager