Comment comparer des fichiers CSV ou comparer un fichier CSV à une table de base de données
Les fichiers CSV sont un moyen rapide et pratique pour enregistrer des données structurées dans un format générique. Étant donné la facilité avec laquelle on peut créer des fichiers CSV, de multiples versions similaires de très grands fichiers CSV peuvent se multiplier rapidement. Il arrive souvent qu'il soit nécessaire de comparer des fichiers CSV afin de trouver la version souhaitée. Dans un contexte d'ETL (Extraction, Transformation, Chargement), un analyste de données peut vouloir comparer un fichier CSV à une table de base de données, soit pour valider les données, soit pour les mettre à jour.
DiffDog, l'outil de comparaison et de fusion XML unique d'Altova, prend en charge le format CSV comme format de fichier natif pour la comparaison et peut comparer et fusionner sélectivement des données entre des fichiers CSV, ou entre un fichier CSV et une table de base de données. Examinons un exemple.

Étant donné que les fichiers CSV contiennent des données structurées, une comparaison de fichiers CSV est lancée en utilisant la fonction "Comparer les données de la base de données" de DiffDog, soit depuis le menu Fichier, soit en cliquant sur l'icône de l'outil. Cela ouvre une nouvelle fenêtre de comparaison où l'utilisateur sélectionne les objets de comparaison à gauche et à droite.

Notez que DiffDog vous permet de comparer des fichiers CSV en utilisant la virgule, la tabulation ou le point-virgule comme séparateurs de colonnes, et ce, pour des fichiers avec ou sans lignes d'en-tête.
Sur la capture d'écran ci-dessous, l'utilisateur a sélectionné les fichiers de comparaison gauche et droite, a associé les fichiers au niveau supérieur pour comparer toutes les colonnes, et a lancé la comparaison en cliquant sur l'icône verte "Comparer" située en haut à droite de la barre d'outils.

Notez le nombre de lignes pour chaque fichier, indiqué à proximité du nom de l'objet et de l'icône de non-égalité dans le lien de connexion. Ces deux fichiers CSV ont le même nombre de lignes, mais leur contenu n'est pas identique. Les noms des colonnes sont indiqués sous chaque nom d'objet. Vous pouvez désélectionner n'importe quelle connexion individuelle pour empêcher la comparaison de cette colonne.
Ensuite, nous souhaitons examiner les différences précises entre les fichiers CSV. En cliquant avec le bouton droit de la souris sur la ligne indiquant une connexion inégale, un menu s'ouvre avec une option permettant de consulter les résultats détaillés.

La fenêtre de résultats affiche une vue détaillée des deux fichiers.

La barre d'outils de navigation en haut de l'écran vous permet de localiser rapidement la première différence entre les fichiers. Par exemple, une commande pour le client numéro 544 a peut-être été saisie incorrectement et doit être réclassée dans une autre région et attribuée à un autre commercial.
Vous pouvez sélectionner et fusionner les différences individuelles entre les fichiers CSV disponibles dans cette fenêtre, en utilisant un menu contextuel accessible en cliquant avec le bouton droit de la souris

Vous pouvez fusionner les différences dans les deux sens et enregistrer les résultats en mettant à jour les fichiers CSV existants ou en enregistrant de nouveaux fichiers avec de nouveaux noms.
Comparer des fichiers CSV à des tables de base de données
La comparaison entre un fichier CSV et une base de données se fait très simplement en utilisant l'assistant de connexion pour spécifier une base de données comme objet de comparaison de chaque côté. L'illustration ci-dessous montre notre fichier CSV original à gauche et une base de données SQLite à droite.

Dans cet exemple, le contenu du fichier CSV et de la table de base de données sont identiques. Si des différences existent, toutes les fonctionnalités de fusion de comparaison CSV à CSV décrites ci-dessus fonctionnent également pour les comparaisons CSV à base de données. Toute modification apportée à la table de base de données peut être enregistrée directement dans la base de données, à partir de la fenêtre de résultats.
Les bases de données prises en charge sont les suivantes :
• Oiseau de feu
• IBM DB2 pour iSeries®
• IBM DB2®
• Informix®
• MariaDB
• Microsoft Access™
• Microsoft® Azure SQL
• Microsoft® SQL Server®
• MySQL®
• Oracle®
• PostgreSQL
• Évolution d'OpenEdge
• SQLite
• Sybase® ASE
• Teradata
Automatisez les comparaisons de fichiers CSV grâce au serveur DiffDog
Vous pouvez automatiser la génération de rapports de différences pour les comparaisons entre fichiers CSV et entre fichiers CSV et bases de données, grâce à DiffDog Server. Une fois installé sur une machine de votre réseau, DiffDog Server fonctionne comme un service. Vous pouvez effectuer des comparaisons en appelant DiffDog Server, soit à partir d'une interface en ligne de commande, soit via des scripts exécutables.
Si vous devez effectuer la même comparaison de données fréquemment, vous pouvez la configurer une seule fois dans DiffDog et la sauvegarder dans un fichier de comparaison de données de base de données (.dbdif), qui peut être exécuté automatiquement par le serveur DiffDog.
Le serveur DiffDog est disponible pour les plateformes Windows, Windows Server, Linux et macOS.
Téléchargez une version d'essai gratuite pour découvrir par vous-même à quel point DiffDog peut vous aider à comparer facilement des fichiers CSV !