#1 Aujourd'hui à 18:29
- -= yehyoman =-
Projet personnel, GROS fichier et REGEX
Bonjour,
je poste ici aujourd'hui car je me retrouve face a un problème, je dois donc faire des choix… et surtout trouver LES BON OUTILS pour y parvenir ; mais surtout je tiens a savoir si le projet est réalisable : comme aiment a le rappeler certains-nes : « On ne demande pas à un cheval de pondre un œuf » bref.
Le choix du bon outil est primordial, je ne veux pas me retrouver dans la situation d’ « Essayer de vider l'océan avec une cuillère ». Pour le moment les outils que j’ai sont principalement du front-end sur le WEB (HTML, CSS, PHP, MySQL, JS) quelques notions de base en C/C++ et Qt niveau hello world et ça date un peu d'ailleur ! et un peu de BASH.
C’est pourquoi je suis ici en quête d’information, il est possible que la solution n’ai rien a voir avec Ubuntu ou même Linux (quoi que ! chiche !!) alors je m’excuse d’avance pour mon poste. La communauté de ce forum a toujours répondu aux galères et problèmes et c’est toujours un plaisir d’apprendre des autres… alors merci à toutes et tous…
Je vais donc partir de la source, vous expliquer le résultat attendu, et les piste que j’ai de mon côté.
La matière première se sont de GROS fichier TXT qui proviennent de sauvegardes d’une machine qui enregistre la totalité d’une plage de paramètres et leur évolution dans le temps. Un petit fichier mesure environ 12000 lignes pour pas loin de 400000 caractères environs et il n’y a pas de max car tout dépend de la durée sur laquelle les paramètres sont capturé.
Dans le fichier il y a plusieurs zones avec des structures assez simple et redondante dont voici quelque extrait :
$$Interpolated
$$CurveData 0@0 1@0 2@0 3@0 4@0 5@0 6@0 7@0 8@0 9@0 10@0 11@0 12@0 13@0
$$CurveData 14@0 15@0 16@0 17@0 18@0 19@0 20@0 21@0 22@0 23@0 24@0 25@0
$$CurveData 26@1 27@1 28@1 29@1 30@1 31@1 32@1 33@1 34@2 35@2 36@2 37@2
$$CurveData 38@2 39@2 40@3 41@3 42@3 43@3 44@4 45@4 46@4 47@5 48@5 49@5
$$CurveData 50@6 51@6 52@6 53@7 54@7 55@8 56@8 57@9 58@9 59@10 60@11 61@11
$$CurveData 62@12 63@13 64@13 65@14 66@14 67@15 68@16 69@16 70@17 71@17
$$CurveData 72@18 73@19 74@19 75@20 76@21 77@21 78@22 79@23 80@24 81@25
$$CurveData 82@25 83@26 84@27 85@28 86@28 87@29 88@30 89@30 90@32 91@33
$$CurveData 92@33 93@34 94@35 95@36 96@37 97@38 98@39 99@40 100@41 101@42
$$CurveData 102@42 103@43 104@44 105@45 106@46 107@47 108@48 109@49 110@50
$$CurveData 111@51 112@52 113@53 114@54 115@55 116@56 117@56 118@58 119@59
STEP 1 1
A-Time 0.1
$$TimeU 0.1 0 0 1
B-Time 0.1
$$TimeD 0.1 0 1 1
$$TimeP 0.1 0 1 1
$$TimeC 0.1 0 1 1
$$TimeG 0.1 0 1 1
$$Move 1@H58 2@H59 3@H58 4@H56 5@H56 21@H3b 22@H3b 23@H47 24@H47
$$Move 41@H46 42@H33 43@H29 44@H29 45@H32 46@H44 51@H4dd3 52@H4dd3
$$Move 53@H4c4a 54@H4c4a 55@H4c4a 56@H4dd3 57@H4bc7 58@H4ccd 59@H7f7d
$$Move 60@H7f7d 61@H7f7d 62@H7f7d 71@H41 72@H46
Stat 1@H58 2@H59 3@H58 4@H56 5@H56 21@H3b 22@H3b 23@H47 24@H47 30@H34
Stat 41@H46 42@H33 43@H29 44@H29 45@H32 46@H44 51@H4e 52@H4e 53@H4c
Stat 54@H4c 55@H4c 56@H4e 57@H4c 58@H4d 59@H7f 60@H7f 61@H7f 62@H7f
Stat 71@H41 72@H46
Le but recherché étant de sélectionner des paramètres précis et choisi par l’utilisateur via une interface (…graphique de préférence). Pour ensuite les retranscrire dans une forme plus compacte par exemple Format HTML pour affichage sur écran puis en format PDF en A4 pour impression papier.
L’idée de base :
=> Utiliser les REGEX pour capturer les bons paramètres,
=> Créer un GROS Tableau avec ces paramètres et leur évolution dans le temps,
(pas besoin de définir un temps de départ et de fin différent il faudra dans tous les cas couvrir la totalité du temps) ,
=> Générer une page HTML pour mettre en forme le tableau en fonction des paramètres choisi par l’utilisateur.
=> Trouver un moyen de Conversion vers le Format PDF qui puisse couper proprement a chaque changement de page A4 (saut de page).
Le souci c’est que pour effectuer des REGEX sur aussi gros je ne sais pas comment m’y prendre, cela dépasse mes compétences. A mon niveau je ne vois pas comment charger la totalité du fichier dans une variable type « string » pour ensuite effectuer mes REGEX dessus… c’est beaucoup trop gros ça va forcément planter !!!
Et si dans un premier temps on charge chaque ligne dans un tableau, cela reviens au même ou pas ? j’ai lu quelque part qu’un ARRAY en JavaScript est limité à 32 bits ? est-ce que c’est vrai ?
Dans ce cas est-ce qu’il faut envisager l’utilisation d’une BDD pour chaque projet que l’on pourra effacer une fois le travail terminé ?
Je ne sais pas sur quel outil me lancer, et la bonne démarche à suivre…
J’ai regardé quelques démonstration/tuto de Python sur Tkinter : est-ce la/une bonne solution dans mon cas ?
Je suis preneur de tout suggestions, idées, tutos… bonne soirée à toutes-tous.
Dernière modification par -= yehyoman =- (Aujourd'hui à 18:50)
00101011 00100000 01101111 01101110 00100000 01101001 01101101 01110000 01101111 01110011 01100101 00100000 01100100 00100000 01100011 01101111 01101110 01110100 01110010 01100001 01101001 01101110 01110100 01100101 01110011 00100000 00101011 00100000 01101111 01101110 00100000 01110011 01100101 00100000 01101100 01101001 01100010 11101000 01110010 01100101
Hors ligne