Suppression de lignes identique de deux fichiers dans le desordr
Fermé
JB
-
10 sept. 2014 à 15:39
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 10 sept. 2014 à 16:21
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 10 sept. 2014 à 16:21
A voir également:
- Suppression de lignes identique de deux fichiers dans le desordr
- Forcer suppression fichier - Guide
- Explorateur de fichiers - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Fusionner deux fichiers excel - Guide
1 réponse
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 10/09/2014 à 16:24
Modifié par [Dal] le 10/09/2014 à 16:24
Salut JB,
Ce n'est pas clair, en particulier sur la comparaison ("identique" à quoi) et sur le fait qu'il ne paraisse évident que les deux fichiers aient le même nombre de lignes (alors qu'il sont différents selon toi), sur la question de savoir s'il peut y avoir des lignes dupliquées dans les fichiers 1 et 2 et ce qui arrive dans les différents cas.
Bref, si tu veux :
- à partir du fichier 1 noter toute les lignes comportant une information unique
- à partir du fichier 2 voir si chaque ligne comportant une information unique de ce fichier 2 apparaît au moins une fois dans une ligne au moins du fichier 1
- et :
----- si oui, ne pas afficher cette ligne ;
----- si non, afficher cette ligne (et ne l'afficher qu'une seule fois, au cas où elle est répétée dans le fichier 2)
Tu peux faire cela :
- en lisant le fichier 1 de sorte à mettre les lignes du fichier 1 dans un hash, dont la clef est la valeur des lignes
- en lisant le fichier 2 en testant si chaque ligne est une clef existante du hash, et si ce n'est pas le cas de l'afficher et l'ajouter au hash (afin qu'au cas où elle est dupliquée au fichier 2, elle ne soit affichée qu'une fois)
Si ce n'est pas ce que tu veux faire, explique plus précisément stp, en donnant un exemple avec des données de départ représentatives des différent cas à traiter et la sortie souhaitée.
Dal
Ce n'est pas clair, en particulier sur la comparaison ("identique" à quoi) et sur le fait qu'il ne paraisse évident que les deux fichiers aient le même nombre de lignes (alors qu'il sont différents selon toi), sur la question de savoir s'il peut y avoir des lignes dupliquées dans les fichiers 1 et 2 et ce qui arrive dans les différents cas.
Bref, si tu veux :
- à partir du fichier 1 noter toute les lignes comportant une information unique
- à partir du fichier 2 voir si chaque ligne comportant une information unique de ce fichier 2 apparaît au moins une fois dans une ligne au moins du fichier 1
- et :
----- si oui, ne pas afficher cette ligne ;
----- si non, afficher cette ligne (et ne l'afficher qu'une seule fois, au cas où elle est répétée dans le fichier 2)
Tu peux faire cela :
- en lisant le fichier 1 de sorte à mettre les lignes du fichier 1 dans un hash, dont la clef est la valeur des lignes
- en lisant le fichier 2 en testant si chaque ligne est une clef existante du hash, et si ce n'est pas le cas de l'afficher et l'ajouter au hash (afin qu'au cas où elle est dupliquée au fichier 2, elle ne soit affichée qu'une fois)
Si ce n'est pas ce que tu veux faire, explique plus précisément stp, en donnant un exemple avec des données de départ représentatives des différent cas à traiter et la sortie souhaitée.
Dal