Est-ce possible en perl ? - Perl - Programmation
Marsh Posté le 15-06-2010 à 08:55:56
C'est tout a fait faisable.
Selon le degré de contrôle que vous désirez, vous pouvez tout faire a la main, ou bien utiliser des modules.
Jetez un œil ici pour voir comment transformer une ligne d'un CSV en un array: http://forum.hardware.fr/hfr/Progr [...] 9579_1.htm et en particulier le code que je poste a mon avant dernière intervention.
Une fois que vous avez un array pour chaque ligne, vous pouvez utiliser Array::Compare (module à qui on peut dire quelles colonnes sauter dans la comparaison) pour les comparer, ou utiliser la technique de ce module et le faire à la main (concaténation en une chaine des champs non sautés d'un array, avec des^G entre chaque champ, puis comparaison ordinaire des deux chaines obtenues).
A+,
Marsh Posté le 15-06-2010 à 08:04:44
Bonjour,
J'ai deux fichiers et je souhaiterai les comparé car beaucoup de ligne (10 000)
Ces deux fichiers on des entêtes et les données sont séparé par des ;
Les trucs c'est que je peux avoir cela
fichier 1
colA;colB;colD;
fichier 2
colA;colB;colC;colD
les entête peuvent etre differente, c'est à dire un fichier peut contenir des colonnes differentes
est-ce possible en perl de faire un truc qui pour le deuxieme fichier,supprime la colonne C ?
Ensuite pour comparé les fichier, je pensai à faire deux boucle,
la premiere "split" le fichier 1 en fonction des ;
et la deuxieme le fichier 2
et je compare ensuite champs par champs (colA avec ColA puis colB avec colB... et ensuite je passe à la ligne 2..n)
et s'il y a des différence ,je met la ligne dans un fichier, ainsi que les champs qui diffère.
qu 'en pensez vous ?
Merci