Cómo comparar archivos CSV o cómo comparar un archivo CSV con una tabla de base de datos

Los archivos CSV son una forma rápida y sencilla de registrar datos estructurados en un formato genérico. Debido a que los archivos CSV son muy fáciles de crear, pueden surgir rápidamente múltiples versiones similares de archivos CSV muy grandes. A menudo, es necesario comparar archivos CSV para encontrar la versión deseada. En un escenario de ETL, un analista de datos puede querer comparar un archivo CSV con una tabla de base de datos para validar datos o para actualizar información.

DiffDog, la herramienta de comparación y fusión de archivos XML única de Altova, admite el formato CSV de forma nativa para la comparación y puede comparar y fusionar selectivamente datos de archivos CSV a archivos CSV, o entre un archivo CSV y una tabla de base de datos. Veamos un ejemplo.

Dado que los archivos CSV contienen datos estructurados, se inicia una comparación de archivos CSV utilizando la opción "Comparar datos de base de datos" de DiffDog, ya sea desde el menú "Archivo" o a través del icono de la herramienta. Esto abre una nueva ventana de comparación donde el usuario selecciona los objetos de comparación de la izquierda y de la derecha.

Tenga en cuenta que DiffDog le permite comparar archivos CSV con comas, tabulaciones o puntos y comas como separadores de columna, y archivos con o sin filas de encabezado.

En la captura de pantalla que se muestra a continuación, el usuario ha seleccionado los archivos de comparación de la izquierda y de la derecha, ha asignado los archivos al nivel superior para comparar todas las columnas, y ha ejecutado la comparación haciendo clic en el icono verde de la herramienta "Comparar" que se encuentra en la esquina superior derecha de la barra de herramientas.

Tenga en cuenta el número de filas de cada archivo, que se indica cerca del nombre del objeto y el icono de "no igual" en el enlace de conexión. Estos dos archivos CSV tienen el mismo número de filas, pero su contenido no es idéntico. Los nombres de las columnas se muestran debajo de cada nombre de objeto. Puede deseleccionar cualquier conexión individual para evitar la comparación de esa columna.

A continuación, queremos analizar las diferencias exactas entre los archivos CSV. Al hacer clic derecho en la línea que indica una conexión desigual, se abre un menú con una opción para ver los resultados detallados.

La ventana de resultados muestra una vista detallada de ambos archivos.

La barra de navegación en la parte superior le permite localizar rápidamente la primera diferencia entre los archivos. Quizás un pedido para el cliente número 544 se ingresó incorrectamente y necesita ser reclasificado a una región y un representante de ventas diferentes.

Puede seleccionar y combinar las diferencias individuales entre los archivos CSV dentro de esta ventana, utilizando un menú contextual que aparece al hacer clic derecho:

Puede combinar las diferencias en cualquier dirección y guardar los resultados actualizando los archivos CSV existentes o guardando nuevos archivos con nombres diferentes.

Comparar archivos CSV con tablas de bases de datos

La comparación entre un archivo CSV y una base de datos se realiza de forma sencilla utilizando el asistente de conexión, que permite especificar una base de datos como el objeto de comparación en ambos lados. La ilustración que se muestra a continuación presenta nuestro archivo CSV original en el lado izquierdo y una base de datos SQLite en el lado derecho.

En este ejemplo, el contenido del archivo CSV y la tabla de la base de datos son idénticos. Si existen diferencias, todas las funciones de combinación de archivos CSV descritas anteriormente también se aplican a las comparaciones entre archivos CSV y tablas de bases de datos. Cualquier cambio realizado en la tabla de la base de datos se puede guardar directamente en la base de datos desde la ventana de resultados.

Las bases de datos compatibles son:

• Fénix

• IBM DB2 para iSeries®

• IBM DB2®

• Informix®

• MariaDB

• Microsoft Access™

• Microsoft® Azure SQL

• Microsoft® SQL Server®

• MySQL®

• Oracle®

• PostgreSQL

• Avance de OpenEdge

• SQLite

• Sybase® ASE

• Teradata

Automatice las comparaciones de archivos CSV con DiffDog Server

Puede automatizar la generación de informes de diferencias para comparaciones entre archivos CSV y bases de datos utilizando DiffDog Server. Una vez instalado en una máquina de su red, DiffDog Server se ejecuta como un servicio. Puede realizar comparaciones invocando DiffDog Server, ya sea a través de una interfaz de línea de comandos o mediante scripts ejecutables.

Si necesita realizar la misma comparación de datos con frecuencia, puede configurarla una sola vez en DiffDog y guardarla en un archivo de comparación de datos de base de datos (.dbdif), que puede ser ejecutado automáticamente por el servidor DiffDog.

El servidor DiffDog está disponible para las plataformas Windows, Windows Server, Linux y macOS.

Descargue una versión de prueba gratuita para descubrir por sí mismo lo fácil que es usar DiffDog para comparar archivos CSV.