Comment comparer deux fichiers CSV sur Mac
L’export d’hier contre celui d’aujourd’hui, ou un fichier contre la copie revenue de relecture. Comparer deux CSV à l’œil, ou avec un diff générique, est moins fiable qu’il n’y paraît.
Pourquoi comparer deux exports n’est pas aussi simple qu’il y paraît
Le réflexe est d’ouvrir les deux fichiers dans un tableur, de les trier de la même façon, et de chercher ce qui diffère. Deux problèmes se posent tout de suite. D’abord l’ordre des lignes : si le second export a été trié différemment, ou qu’une ligne a remonté parce qu’une ligne précédente a été supprimée, une comparaison ligne à ligne signale tout ce qui suit comme modifié, même quand rien n’a changé dedans. Ensuite la précision : Excel ne conserve que 15 chiffres significatifs, si bien qu’un numéro de commande ou de carte à 16 chiffres diffère déjà de lui-même dès l’ouverture, son dernier chiffre transformé en zéro avant même d’avoir comparé quoi que ce soit (Microsoft). Une comparaison bâtie sur un fichier qui a déjà changé sous vos yeux n’est pas une comparaison fiable.
Comparer deux fichiers dans Tabulay (Tabulay Pro, inclus dans l’essai de 14 jours)
- Ouvrir le premier fichier dans Tabulay.
- Data ▸ Compare With… (⌥⌘C), et choisir le second fichier.
- Choisir la colonne qui identifie chaque ligne, un identifiant de commande ou de transaction, pour que les lignes soient appariées sur cette clé plutôt que sur leur position. Sans colonne d’identifiant commune, Tabulay peut comparer par position à la place.
- Apparier sur une clé signifie qu’une ligne déplacée, parce qu’une ligne précédente a été insérée ou supprimée, n’est pas traitée comme un changement. Seul ce qui a vraiment changé l’est.
Ce que montre la comparaison
- Les lignes ajoutées dans le second fichier, les lignes supprimées du premier, et les lignes présentes dans les deux mais modifiées, avec la valeur avant et après pour chaque champ qui diffère.
- Les colonnes qui n’existent que dans l’un des deux fichiers.
- Les identifiants qui apparaissent plus d’une fois dans l’un des fichiers, signalés au lieu d’être appariés à la mauvaise ligne en silence.
Exporter les différences
Enregistrez toute la comparaison en CSV : lignes ajoutées, supprimées et modifiées, avec la valeur avant et après de chaque champ changé, dans un seul fichier à joindre à un ticket, à envoyer à qui a lancé le second export, ou à garder à côté des originaux comme piste d’audit.
Les limites, dites clairement
Compare est l’une des huit fonctions de Tabulay Pro (SQL, plans d’exécution, analyse de colonne, Transform, suppression des doublons, Compare, Normalize, classeurs Excel), incluse en entier dans l’essai de 14 jours et débloquée pour de bon avec un achat unique. Les deux fichiers suivent la même règle de taille que le reste de Tabulay : jusqu’à 2 Go en édition, au-delà en lecture seule.
Les autres façons de comparer deux fichiers CSV
La ligne de commande a de vrais outils pour ça : trier les deux fichiers de la même façon puis les comparer avec diff ou comm, ce qui fonctionne proprement une fois que les lignes et le format sont déjà alignés, et s’effondre dès qu’ils ne le sont plus. Un tableur peut comparer deux fichiers avec une formule de recherche par ligne, appariant chacune sur une colonne d’identifiant à peu près comme le fait Tabulay, ce qui reste possible pour un fichier sous sa limite de lignes et vaut la peine d’être construit si on doit le refaire.
À essayer
Ouvrez vos deux fichiers et choisissez la colonne d’identifiant qu’ils partagent : c’est tout le réglage nécessaire. La liste complète de ce que couvrent Compare et le reste de Tabulay Pro est sur la page fiche technique (en anglais). Si le fichier à comparer est aussi un gros fichier, commencez par ouvrir un gros fichier CSV sur Mac.