Comparer valeurs de 3 fichiers et en afficher les résultats

Odissine Messages postés 5 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 15 septembre 2015 - 29 juin 2009 à 19:49
Odissine Messages postés 5 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 15 septembre 2015 - 29 juin 2009 à 19:50
Bonjour à tous,
Voilà j'était en train de manipuler en PHP un pti qqchose pour pouvoir récupérer et importer dans une base MySQL des infos contenus dans 3 fichiers différents qu'on va appeler fichier1.xml, fichier2.txt et fichier3.txt faisant respectivement 15Mo, 35Mo et 0,2Mo.
Je ne récupère qu'une balise qu'on va appeler champ1.
> Ce champ1 est importer dans 3 tables différentes (table1,table2,table3) et dans un champ nommé de manière identique (champ1).
> Je fais ensuite une première comparaison entre table1.champ1 et table2.champ1 et les infos figurant dans table1 mais pas dans table2 je l'ajoute dans une autre table (table4).
> Dernière étape, je test table4.champ1 avec table3.champ1 et la je liste tous les champ1 qui sont dans table4 mais pas dans table3.

En clair pour résumer je prend tous les champ1 de la table1 et apres comparaison je ne garde que ceux qui ne sont ni dans la table2 ni dans la table3.

Ma question est la suivante : Etant donné que le chargement des fichiers (le parsing des fichiers txt et xml) prend un temps fou et mouline beaucoup, je me disait qu'il pouvait y avoir une solution de traitement en VB afin d'en faire un programme standalone en donnant comme paramètre le nom de 3 fichiers figurant dans le meme directory que le programme et dans une base de donnée (sous format txt ou autre de manière temporaire) ne récupérer que les valeurs des balises souhaitées afin de les comparer entre elles et d'en extraire dans un fichier texte final le resultats.

Les valeurs des champ1 sont sur 8 caractères seulement.

Ex des fichiers...
XML : Pas besoin d'en dire bcp plus ... si ce n'est que j'ai besoin de récupérer la valeur à mettre dans champ1 située dans 2 balises XML différentes champ1 et champ1 pour un même enregistrement. De plus parfois champ1 ne doit être importer qu'une fois (car il peut etre contenu plusieurs dans le fichier xml...)
TXT1 :
Info 1 : XXXXXXXXXXXX (je n'ai besoin que des 8 premiers)
Info 2 : ABCDEFG HIJKL FHSKBDSKDB
info 3 : ...
Je n'ai besoin que d'Info1 sur 8 caractères.
TXT2 :
XXXXXXXX
XXXXXXXX
XXXXXXXX
(Le plus facile )

Voilà, donc pour résumer encore ... j'ai besoin d'un programme permettant de comparer ces 3 fichiers, tout du moins une partie seulement de ces 3 fichiers et d'en extraire apres comparaison qu'une partie sous format liste (txt).

En php j'y suis presque, mais ca rame ... plus de 5 min voir plus pour parser le tout ... et au final bizzarement ma dernière requete SQL de comparaison (table3 et table4) n'aboutit pas (pas d'erreur mais resultat pas attendu) alors que c'est la meme requete que pour la première comparaison. entre table1 et table2.

Désole pour le pavé, si vous avez besoin de plus d'info... Merci pour votre aide, je peux fournir en DL un exemple reduit en taille des trois fichiers pour tester...

Merci encore par avance pour votre aide.

Cordialement

1 réponse

Odissine Messages postés 5 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 15 septembre 2015
29 juin 2009 à 19:50
Ouch, désolé pour la mise en page :( J'avais fait un copier coller de mon texte via notepad ... et paf il a pas garder la mise en page :( désole ...
0
Rejoignez-nous