Vous n'êtes pas identifié(e).
"Fais le ou ne le fais pas"
Hors ligne
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Tu as besoin de python3 et du module re. C'est tout.
Si tu as des centaines de fichiers, tu rajoutes une boucle pour lire les fichiers les uns après les autres (donc with open(my_file) et my_file tu l'obtiens après listage du(es) répertoire(s) contenant ces fichiers.
A la lecture du fichier, tu stockes les résultats dans 1 tableau qui s'incrémentent au fur et à mesure de la lecture des fichiers source
Une fois la lecture effectuée, tu as ton tableau avec tes références (paire par ligne). Tu pars de ce tableau pour coller dans un tableau ods ou xls (finalement c'est du xml). Jette un oeil sur le module ooopy et / ou panda (à vérifier) qui te permet de créer des fichiers type excel depuis python
Donc finalement, un peu de temps de code, mais rien comparé à une méthode manuelle
Dernière modification par cyrille (22-01-2021 18:55:55)
"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."
Association Debian-Facile | Les cahiers du débutant | ISO Debian-Facile | Page perso. sur #df
Hors ligne
Mieux car ne prend réellement que REF: suivi de 6 lettres quelque soit la casse
Dernière modification par cyrille (22-01-2021 18:57:29)
"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."
Association Debian-Facile | Les cahiers du débutant | ISO Debian-Facile | Page perso. sur #df
Hors ligne
On voit 2 fois 123456 car ton message le contient 2 fois, mais je présume que dans tes fichiers les valeurs iront par paires
Dernière modification par cyrille (22-01-2021 18:58:43)
"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."
Association Debian-Facile | Les cahiers du débutant | ISO Debian-Facile | Page perso. sur #df
Hors ligne
"Fais le ou ne le fais pas"
Hors ligne
Alors cette regex sed fera le boulot
sortie shell
L'idée, rediriger cette sortie vers un fichier (sortie.csv) qui tu incrémente à la lecture de chaque fichier
Voilà ensuite tu colles cette "regex sed " sur une boucle qui fera un travail recursif depuis ton répertoire parent.
Je te file la fonction, adapte à ton dossier où sont stockés tes données , tu n'as qu'à adapter les 2 premières variables
PS : normalement ça ne craint rien pour tes données, mais prends pas de risque, teste sur un petit échantillon de backup
PS2 : je n'ai rien testé, donc peut être qq coquilles à revoir
PS3 : sans doute pas optimisé / ressources CPU mais je ne pense pas que ce soit forcement ce que tu cherches
Très à la bourre
SI je ne me suis pas planté le fichier $file_output devrait contenir tous tes datas, champs séparés par un point vrigule. Tu n'auras plus qu'à importer dans ton tableau comme un tradionnel fichier cvs
Dernière modification par cyrille (25-01-2021 18:14:41)
"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."
Association Debian-Facile | Les cahiers du débutant | ISO Debian-Facile | Page perso. sur #df
Hors ligne
Hors ligne
"Fais le ou ne le fais pas"
Hors ligne
Dernière modification par cyrille (26-01-2021 08:36:37)
"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."
Association Debian-Facile | Les cahiers du débutant | ISO Debian-Facile | Page perso. sur #df
Hors ligne
il existe un parseur XML qui fonctionne en local sur une machine ?
Très certainement, mais je ne pourrai pas en lister : je n'ai eu l'occasion de bosser avec du XML que dans le cadre de développement de logiciels plus gros, souvent en PHP.
---
ai proposé une regex sed car il doit récupérer aussi des informations à l'intérieur du code html (ex, dans <label class="tel" title="ETAGERE34"> --> ETAGERE34 ) et je n'étais pas sûr qu'un parser puisse faire cela. Enfin, je n'utilise pas trop cette technologie, donc intéressé de savoir si possible ou pas.
Ça se fait très simplement, indépendamment de la syntaxe du parseur il s'agit ici de lui demander la valeur de l'attribut title de la balise label.
Hors ligne