IA sur votre appareil : performant et privé.

Comparer des fichiers CSV

Diff CSV par colonne clé — voyez quelles cellules ont changé.

  • Fonctionne sur votre appareil
  • Appariement par colonne clé
  • Changements cellule par cellule
  • Deux fichiers gratuits · 25 Mo chacun

Déposez ici deux fichiers CSV

CSV, TSV ou texte · jusqu'à 25 Mo chacun en gratuit

Fichier A

Pas encore de fichier

Fichier B

Pas encore de fichier

Chargez deux fichiers et appuyez sur Comparer.

Réglages de comparaison
Apparier les lignes par
Apparier les lignes par

La colonne clé apparie les enregistrements quel que soit l'ordre et signale les modifications. Ligne entière compte les doublons. Position absorbe les lignes insérées.

Colonnes clés

Chargez deux fichiers avec en-tête pour choisir une clé.

Choisissez une ou plusieurs colonnes qui identifient un enregistrement. Les colonnes suggérées sont celles dont les valeurs sont réellement uniques.

Apparier les colonnes par
Apparier les colonnes par

Par position, la première colonne va avec la première. Par nom, Customer ID va avec customer_id, et une colonne ajoutée au milieu ne casse rien.

Comparer ces colonnes

Comparez deux fichiers pour choisir des colonnes.

Décochez une colonne pour la laisser entièrement hors de la comparaison.

Considérer comme identiques

Tous désactivés par défaut. Chacun supprime une catégorie de fausses différences — et en masque une vraie si ce n'était pas voulu.

Lecture des fichiers
Fichier A
Fichier B

Détecté par fichier. Modifiez l'un des deux côtés si un fichier a été mal lu.

Format d'export

S'applique à chaque téléchargement et au presse-papiers.

Télécharger
Uniquement dans A0
Uniquement dans B0
Modifiés0
Dans les deux0
Rapport de modifications0
Pro
Pro

Chaque ensemble à part, ou toute la comparaison d'un coup.

Comment comparer deux fichiers CSV

  1. 1

    Chargez les deux fichiers

    Déposez ou sélectionnez deux fichiers CSV, TSV ou texte, ou passez en mode Coller. Chaque fichier est lu sur votre appareil ; rien n'est téléversé. Le séparateur, les guillemets, l'encodage et la ligne d'en-tête sont détectés séparément pour chaque fichier, et tous peuvent être modifiés à la main.

  2. 2

    Choisissez l'appariement des lignes

    Prenez une colonne clé comme un identifiant, un SKU ou une adresse e-mail pour apparier les enregistrements quel que soit l'ordre des lignes et voir quelles cellules ont changé. Ou appariez des lignes entières, ce qui compte correctement les doublons. Ou par position, ce qui absorbe une ligne insérée au lieu de décaler tout ce qui suit.

  3. 3

    Lisez le résultat

    Quatre onglets — modifiés, uniquement dans A, uniquement dans B et inchangés — avec leurs compteurs. Dans les enregistrements modifiés, les cellules concernées sont mises en évidence et affichent la valeur avant et après, de sorte que la modification se voit au lieu de se déduire.

  4. 4

    Exportez ce dont vous avez besoin

    Téléchargez n'importe quel ensemble en CSV ou TSV, copiez-le dans le presse-papiers, ou prenez le rapport de modifications au format long avec une ligne par cellule modifiée. Pro ajoute toute la comparaison en une archive ZIP et un classeur en couleurs.

Ce que propose cet outil de comparaison CSV

Deux fichiers CSV en entrée, et un compte rendu précis de ce qui a changé entre eux : quels enregistrements sont nouveaux, lesquels ont disparu, lesquels ont été modifiés et exactement quelles cellules ont bougé. Toute option qui décide de la justesse du résultat est gratuite.

  • Trois façons d'apparier les lignes — Par colonne clé, par contenu complet de ligne ou par position. Chacune répond à une question différente, et la bonne dépend de l'existence d'un identifiant stable partagé par vos fichiers.
  • Des enregistrements modifiés, pas seulement ajoutés et supprimés — Une cellule modifiée est signalée comme un changement, avec la valeur avant et après côte à côte, au lieu d'une suppression suivie d'une insertion dont il faut remarquer qu'elles concernent le même enregistrement.
  • Des colonnes qui ne s'alignent pas — Appariez les colonnes par nom d'en-tête malgré des orthographes différentes, et excluez celles qui diffèrent toujours.
  • Des différences que vous ne vouliez pas voir — Ignorez la casse, les espaces autour, vide-contre-NULL et le format numérique — séparément, pour voir ce que chacun masque.
  • Cinq exports — Chaque ensemble à part, plus un rapport de modifications au format long avec une ligne par cellule modifiée. Pro ajoute une archive ZIP et un classeur en couleurs.
  • Des fichiers lus tels qu'ils sont — Séparateur, guillemets, encodage et ligne d'en-tête détectés par fichier, sauts de ligne entre guillemets gérés, marques d'ordre des octets retirées.

Comment les lignes sont appariées, et quel mode choisir

C'est la seule décision qui change tous les chiffres rapportés par l'outil : elle mérite trente secondes. Les trois modes sont gratuits.

  • Colonne clé — si vos données ont un identifiant — Les enregistrements sont appariés sur une ou plusieurs colonnes qui les identifient : un identifiant, un SKU, un numéro de commande, une adresse e-mail ou une combinaison de plusieurs. L'ordre des lignes cesse totalement de compter, et comme l'appariement survit à une modification, un enregistrement modifié est signalé comme modifié plutôt que comme une suppression suivie d'un ajout. C'est le mode qui répond à « qu'est-il réellement arrivé à cet enregistrement ».
  • Ligne entière — pour des différences d'ensembles — Deux lignes ne correspondent que si chaque cellule comparée correspond. L'ordre n'a pas d'importance. Les doublons sont comptés plutôt que regroupés : trois copies contre une donnent une correspondance et deux excédents. Ce mode n'a pas de notion d'enregistrement modifié, car sans clé rien ne permet d'affirmer que deux lignes sont deux versions de la même chose.
  • Position — quand les fichiers sont dans le même ordre — Les deux fichiers sont alignés ligne à ligne, mais les insertions sont absorbées : ajouter une ligne vers le haut donne une insertion, et non une insertion puis chaque ligne suivante décalée. Là où une suppression et une insertion se suivent et où les lignes s'accordent encore sur au moins la moitié de leurs colonnes, elles sont relues comme un seul enregistrement modifié.
  • Une clé suggérée reste une suggestion — Quand les deux fichiers ont des en-têtes, l'outil note chaque colonne commune selon l'unicité réelle de ses valeurs et propose la meilleure. Une colonne nommée id qui n'est pas unique ne sera pas suggérée : nommer une colonne id n'en fait pas une clé.

Ce que « modifié » veut dire, cellule par cellule

Un enregistrement modifié existe des deux côtés et diverge quelque part. L'outil vous dit où.

  • Les cellules qui ont bougé sont marquées — Dans l'onglet des modifiés, chaque cellule qui diffère est mise en évidence et affiche les deux valeurs : la modification se voit au lieu d'être comparée à l'œil entre deux fenêtres.
  • Les colonnes clés ne sont jamais signalées comme modifiées — Ce sont elles qui ont apparié les deux enregistrements, elles s'accordent donc par construction. Elles ne sont affichées que pour identifier la ligne.
  • Le rapport de modifications est celui qui circule — Une ligne par cellule modifiée — statut, clé, numéros de ligne dans les deux fichiers, colonne, avant, après — plus une ligne par enregistrement ajouté et supprimé. C'est la forme qui se colle dans un ticket sans retouche.
  • Un en-tête modifié est signalé à part — Si les deux fichiers divergent sur le nom de leurs colonnes, c'est un changement de schéma et non de données : il est signalé pour lui-même au lieu d'être mêlé aux compteurs d'enregistrements.

Des colonnes qui ne s'alignent pas

Deux exports de la même table s'accordent rarement sur l'ordre des colonnes ou sur l'orthographe d'un en-tête. Comparer par position après l'un ou l'autre signale toutes les lignes comme modifiées — une affirmation vraie sur les octets et inutile sur les données.

  • Apparier les colonnes par nom d'en-tête — Customer ID, customer_id, customerId et CUSTOMER-ID se ramènent à la même identité et se rejoignent. Ponctuation, espaces et casse sont ignorés ; les en-têtes accentués ou non latins se ramènent correctement eux aussi.
  • Colonnes présentes d'un seul côté — Une colonne qui n'existe que dans un fichier est listée plutôt qu'abandonnée en silence, et elle ne fait pas paraître tous les enregistrements modifiés.
  • Excluez les colonnes qui diffèrent toujours — Un horodatage de dernière modification, un numéro de ligne, un identifiant d'export : décochez-les et elles cessent totalement de peser, tant dans l'appariement que dans le détail des changements.
  • Les noms de colonne en double sont traités dans l'ordre — Deux colonnes nommées Notes sont appariées avec les deux colonnes Notes de l'autre côté, la première avec la première, plutôt que de se rabattre toutes deux sur une seule.

Ignorer des différences que vous ne vouliez pas voir

Quatre interrupteurs, tous désactivés par défaut. Chacun supprime une catégorie de fausses différences entre les exports de deux systèmes — et chacun en masque une vraie si vous l'activez sans le vouloir, ce qui est précisément pourquoi aucun n'est activé pour vous.

  • Ignorer la casse — Apple et apple correspondent. Les adresses e-mail et les codes produits en sont la raison habituelle.
  • Ignorer les espaces autour — « poire » avec espaces et « poire » correspondent. Un système coupe les espaces à l'export, le suivant non.
  • Traiter vide et NULL comme identiques — Une cellule vide correspond aux littéraux NULL, NA, N/A et nil, quelle que soit la casse, ainsi qu'à une cellule ne contenant que des espaces. La liste est volontairement courte et fermée : un tiret, un zéro et le mot « aucun » sont tous des valeurs réelles plausibles et n'y figurent pas.
  • Comparer les nombres par valeur — 1,0 correspond à 1, 1e3 correspond à 1000, et un signe plus initial cesse de compter. Celui-ci demande de la prudence : il fait aussi correspondre 007 et 7, ce qui est faux si la colonne est un identifiant — c'est exactement pour cela qu'il est désactivé tant que vous ne le demandez pas.

Séparateurs, guillemets et encodages

Chaque fichier est lu selon ses propres règles. Un export séparé par des virgules et un export séparé par des points-virgules se comparent parfaitement l'un à l'autre.

  • Une détection de séparateur qui lit le fichier, pas la première ligne — Virgule, point-virgule, tabulation et barre verticale sont essayés sur un échantillon et notés selon qu'ils produisent un nombre de colonnes constant. Compter les séparateurs sur la ligne un — l'approche habituelle — se laisse tromper par une seule virgule dans une adresse entre guillemets, et par la ligne d'en-tête, la moins représentative du fichier.
  • Champs entre guillemets avec virgules et sauts de ligne — Un champ entre guillemets peut contenir le séparateur, des guillemets doublés en échappement et de vrais sauts de ligne. Les trois sont courants dans les colonnes d'adresses et de notes exportées, et les trois cassent un analyseur qui découpe d'abord sur les sauts de ligne.
  • Les marques d'ordre des octets sont retirées — L'export « CSV UTF-8 » d'Excel en écrit une. Laissée en place, elle rend la première cellule d'en-tête subtilement différente de sa jumelle : toute la ligne d'en-tête est alors lue comme modifiée, ce qui donne l'impression de deux fichiers sans rapport. C'est traité ici sans qu'on le demande.
  • Des encodages, y compris ceux qu'Excel écrit vraiment — UTF-8, UTF-16 dans les deux ordres d'octets — ce que produit l'export « Texte Unicode » d'Excel — plus Windows-1252 et le véritable ISO-8859-1. Une marque dans le fichier prime sur la liste déroulante, et l'outil le dit au lieu de faire silencieusement le bon choix sous un réglage devenu mensonger.
  • Les lignes irrégulières et vides sont conservées — Une ligne avec une colonne en trop, ou une ligne vide au milieu, font partie du fichier. Supprimer les lignes vides décale en silence tous les numéros de ligne suivants, et le rapport désigne alors les mauvaises lignes.

Lignes en double, et pourquoi les compteurs comptent

Un enregistrement en double est en général exactement ce que vous cherchiez : une comparaison qui l'estompe a manqué sa mission.

  • L'appariement par ligne entière compte, il ne regroupe pas — Trois lignes identiques dans le premier fichier contre une dans le second donnent une correspondance et deux lignes présentes uniquement dans le premier. Un outil qui traite chaque fichier comme un ensemble de lignes distinctes signale les trois comme présentes dans les deux : c'est faux et cela paraît juste.
  • Les clés répétées sont appariées dans l'ordre et signalées — Si une valeur de clé apparaît deux fois de chaque côté, la première est appariée avec la première et la seconde avec la seconde, et la clé répétée est listée pour que vous sachiez que l'appariement était arbitraire.
  • Les lignes à clé vide sont comptées — Elles ne peuvent pas être appariées de façon significative : l'outil indique donc combien il y en a plutôt que de les apparier entre elles sans rien dire.

Les exports

Cinq fichiers, chacun répondant à une question différente, plus deux façons de tout emporter d'un coup.

  • Uniquement dans A et uniquement dans B — Des lignes complètes à la forme de leur propre fichier, avec son en-tête d'origine, pour se réimporter dans ce qui les a produites.
  • Modifiés — Une ligne par enregistrement modifié, chaque colonne comparée présente sous forme de paire avant/après, et une cellule finale nommant les colonnes qui ont réellement bougé.
  • Dans les deux — Les enregistrements qui n'ont pas bougé, pour les cas où c'est justement l'ensemble intéressant.
  • Rapport de modifications — Format long : une ligne par cellule modifiée plus une par enregistrement ajouté ou supprimé. Statut, clé, les deux numéros de ligne, colonne, avant, après.
  • Une archive ZIP et un classeur en couleurs — Pro rassemble chaque ensemble non vide plus un manifeste dans une seule archive, ou un tableur où les lignes ajoutées sont vertes, les supprimées rouges et les cellules modifiées ambre. Les deux contiennent exactement les données des téléchargements gratuits, réunies en un fichier.
  • Une sortie écrite comme il vous la faut — Choisissez le séparateur, la fin de ligne et l'écriture ou non d'une marque d'ordre des octets, et nommez les fichiers par un préfixe. Les exports sont écrits avec vos réglages, pas avec ceux de l'entrée.

Les deux fichiers sont lus une seule fois dans un index d'octets et comparés sans jamais créer une chaîne par cellule : une paire d'exports de 25 Mo aboutit en une seconde environ.

Pourquoi comparer des fichiers CSV ?

Deux exports de la même table, pris à des moments différents ou sur des systèmes différents, et une question : qu'est-ce qui a bougé entre les deux ?

  • Rapprocher deux systèmes — Un export CRM contre un export de facturation, appariés sur l'adresse e-mail ou le numéro de compte, pour trouver les enregistrements que l'un a et l'autre non.
  • Vérifier ce qu'un import a fait — Export avant, export après, appariement sur la clé primaire, puis lecture de la liste des modifiés. C'est plus rapide que de croire le journal d'import, et cela nomme les cellules.
  • Relire une modification de données avant sa mise en production — Le rapport de modifications est un document relisable : un collègue peut le lire sans ouvrir aucun des deux fichiers.
  • Auditer une liste de prix ou de stock — Appariez sur le SKU, excluez la colonne d'horodatage, et l'onglet des modifiés est la liste de ce qui a vraiment bougé.
  • Travailler sur des données que vous ne pouvez pas téléverser — Tout se fait sur votre appareil : l'outil convient donc aux données clients, à la paie et à tout ce qui ne doit pas partir sur un serveur.

Questions fréquentes

Comment fonctionne la comparaison CSV ?

C'est vous qui choisissez l'appariement des lignes. Avec une colonne clé — un identifiant, un SKU, un numéro de commande ou une adresse e-mail — les enregistrements sont appariés sur cette valeur quel que soit l'ordre, et l'outil indique lesquels sont nouveaux, lesquels manquent et lesquels ont changé, jusqu'à la cellule près. Avec l'appariement par ligne entière, toutes les cellules doivent correspondre pour que deux lignes soient la même, et les doublons sont comptés plutôt que regroupés. Avec l'appariement par position, les deux fichiers sont alignés ligne à ligne, et une ligne insérée compte pour une insertion au lieu de décaler tout ce qui suit.

La comparaison tient-elle compte de l'ordre des colonnes ou des en-têtes ?

Des deux, et c'est vous qui décidez. Apparier les colonnes par position associe la première à la première, ce qui convient quand les deux fichiers proviennent du même export. Les apparier par nom les associe selon leur intitulé, si bien que Customer ID et customer_id se rejoignent et qu'une colonne ajoutée au milieu du fichier le plus récent ne décale rien. Vous pouvez aussi exclure des colonnes, pour qu'un horodatage de dernière modification qui diffère toujours cesse de masquer les changements qui vous intéressent.

Quelle est la différence entre le mode sensible et insensible à la casse ?

Par défaut la casse est prise en compte, donc Apple et apple sont des valeurs différentes. Désactivez-la pour que ces valeurs correspondent — utile quand deux exports ne diffèrent que par la capitalisation, ce qui arrive souvent aux adresses e-mail et aux codes produits. Trois interrupteurs voisins l'accompagnent : ignorer les espaces autour, traiter une cellule vide et NULL comme identiques, et comparer les nombres par valeur pour que 1,0 corresponde à 1. Les quatre sont désactivés par défaut, car chacun masque aussi une vraie différence si vous ne l'avez pas demandé exprès.

Puis-je télécharger ou copier les résultats ?

Oui. Chaque ensemble — modifiés, uniquement dans A, uniquement dans B et inchangés — a son propre bouton de téléchargement et de copie, écrit avec le séparateur de sortie, la fin de ligne et la marque d'ordre des octets que vous choisissez. Il y a aussi un rapport de modifications au format long : une ligne par cellule modifiée, nommant l'enregistrement, la colonne, la valeur avant et la valeur après — la version qui se colle dans un ticket. Un préfixe facultatif nomme les fichiers. Pro ajoute toute la comparaison en une archive ZIP et un classeur en couleurs où les lignes ajoutées sont vertes, les supprimées rouges et les cellules modifiées ambre.

Quels séparateurs et encodages puis-je utiliser ?

Chaque fichier a son propre séparateur, son caractère de guillemet et son encodage, détectés automatiquement et modifiables. Virgule, point-virgule, tabulation et barre verticale sont proposés, et la détection note chacun selon qu'il produit réellement un rectangle plutôt qu'en comptant les séparateurs — une virgule dans une adresse entre guillemets ne la trompe donc pas. Les encodages sont UTF-8, UTF-16 dans les deux ordres d'octets, Windows-1252 et ISO-8859-1 ; une marque d'ordre des octets présente dans le fichier prime sur la liste déroulante, parce que le fichier sait et que la liste est une supposition.

Mes données sont-elles privées, et l'outil est-il gratuit ?

Les deux fichiers sont lus et comparés sur votre appareil. Rien n'est téléversé, et l'outil continue de fonctionner hors ligne une fois la page chargée — c'est ce qui le rend utilisable sur des données que vous n'avez pas le droit d'envoyer ailleurs. Il est gratuit pour deux fichiers de 25 Mo maximum chacun, avec tous les modes d'appariement, toutes les options de normalisation et le détail complet cellule par cellule : le palier gratuit limite l'échelle, jamais la justesse de la réponse. Pro ajoute des fichiers plus volumineux, limités uniquement par votre appareil, le téléchargement en une archive et le classeur en couleurs.

Pourquoi ma comparaison affiche-t-elle toutes les lignes comme différentes ?

Presque toujours l'une de quatre causes, et l'outil nomme chacune à l'écran. Le séparateur a été détecté différemment pour les deux fichiers, donc l'un d'eux a été lu comme une seule colonne. Un fichier a une ligne d'en-tête et l'autre n'a pas été reconnu comme en ayant une, ce qui décale chaque enregistrement d'un rang. Les colonnes sont dans un ordre différent, ce que l'appariement par position ne peut pas résoudre — passez à l'appariement par nom d'en-tête. Ou un fichier porte une marque d'ordre des octets qui rend sa première cellule d'en-tête subtilement différente de l'autre ; c'est traité automatiquement ici, et c'est la cause la plus fréquente ailleurs.

Gère-t-il les lignes en double ?

Oui, et correctement, ce qui est plus rare qu'il n'y paraît. L'appariement par ligne entière traite les fichiers comme des multi-ensembles : trois copies d'une ligne dans le premier fichier contre une dans le second donnent une correspondance et deux lignes présentes uniquement dans le premier, au lieu de déclarer les trois présentes dans les deux. Avec l'appariement par clé, une valeur de clé qui apparaît plusieurs fois est appariée dans l'ordre et les clés répétées sont listées en avertissement, car une clé en double est en général exactement ce que vous cherchiez.

Quelle taille de fichier peut-il comparer ?

Deux fichiers de 25 Mo chacun sur le palier gratuit, soit environ 390 000 lignes de huit colonnes par fichier. Les deux fichiers sont conservés en même temps parce qu'une comparaison a besoin des deux, et ils le sont sous forme d'index d'octets plutôt que de plusieurs millions de chaînes distinctes — c'est ce qui permet à une paire de cette taille d'aboutir sur un téléphone. Pro supprime la limite imposée ; au-delà, c'est la mémoire de votre appareil qui décide, et l'outil vous prévient quand un fichier dépasse ce qu'il traite habituellement plutôt que de le refuser.

4.8sur 5

sur 72 notes

Notez cet outil

Touchez une étoile — c’est rapide