Bonjour à tous !
Je suis sur un gros projet en ce moment me faisant manipuler des milliers de fichers (7500 exactement).
J'ai deux ensembles de fichier, un venant d'un radar (avec 3250 fichiers), et l'autre provenant d'un modèle de simulation (3250 fichiers).
Chaque ensemble de fichiers est ainsi :
Radar201611200.txt (pour : 2016 novembre 20eme jour et 0 pour minuit)
Radar201611201.txt (pour : 2016 novembre 20eme jour et 1 pour une heure du mat etc)
Radar201611202.txt
Radar201611203.txt
Radar201611204.txt
...
et
Simu_2016111920_sup.txt (pour : 2016 novembre 19eme jour et 20h UTC soit 24h local comme pour le radar)
Simu_2016111921_sup.txt
Simu_2016111922_sup.txt
Simu_2016111923_sup.txt
Simu_2016111924_sup.txt
On remarque ici que le deuxieme ensemble de fichiers a un décalage horaire de 4h (différence UTC / heure locale), mais aussi qu'ils sont décalé comme suit :
Radar : 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Simul : 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Le rouge correspond au 19 novembre, le vert au 20 novembre. Les données de la simulation quant à eux vont de 12 à 35 heures (même si le nom du fichier est daté du 19 novembre, il recouvre une partie du 20 novembre des données du radar) . Bref c'est simple n'est-ce pas ?
Donc Radar201611200.txt doit etre comparé avec Simu_2016111920_sup.txt
Radar201611201.txt doit etre comparé avec Simu_2016111921_sup.txt
etc
Première difficulté pour moi :
- Comment faire une boucle en comparant deux noms de fichiers ? imaginons :
if toto1.txt et mimi1.txt exists then (puis mes calculs suivent)
- Comment faire pour que si un des deux fichiers n'existe pas, il continue sa boucle ?
- Et enfin, comment puis-faire pour m'en sortir avec mes noms de fichiers (c'est à dire la décomposer la date) et réussir à créer ce décalage temporel ?
Je me doute bien que c'est un problème long et surement prise de tête, j'espère qu'une ame charitable saurait m'aider, je tente en vain depuis 1 semaine de trouver une esquisse de solution.
En espérant avoir été assez clair,
Merci par avance pour toute réponse
Partager