Comparar archivos (Administración de datos)

Resumen

Compara dos archivos y devuelve los resultados de la comparación.

Uso

  • Esta herramienta devuelve mensajes que muestran el resultado de la comparación. La ejecución de la herramienta se detendrá de forma predeterminada cuando encuentre la primera diferencia entre las entradas. Para informar de todas las diferencias, active el parámetro Continuar comparación.

  • Si las diferencias notificadas entre los datasets de entrada se deben a la adición o eliminación de registros, solo es válida la primera diferencia notificada. Todas las diferencias que se notifiquen después de la adición o eliminación se deberán a la comparación carente de secuencia. Las herramientas de comparación no intentan encontrar el siguiente conjunto de registros coincidentes después de que se encuentre un registro agregado o eliminado.

  • Esta herramienta puede reportar las diferencias entre dos archivos ASCII o dos archivos binarios

  • Esta herramienta admite el enmascaramiento de caracteres, palabras y líneas de texto en un archivo ASCII. Por ejemplo, dos archivos pueden ser idénticos, excepto que contienen texto que representen la fecha y hora de creación. Esta diferencia dará lugar a un error de comparación. Además, ocurren pequeñas variaciones en la forma en la que cada plataforma almacena o manipula los números. Esto genera diferencias en la precisión numérica entre las plataformas. Para controlar las comparaciones de caracteres falsos, esta herramienta ofrece varios recursos para realizar máscaras. Antes de comparar los archivos de texto nuevos con archivos base existentes, edite los archivos base para incluir estos símbolos de enmascaramiento especiales.

    • "#": cuando aparezca el símbolo "#" en el archivo base de entrada, el carácter correspondiente en el archivo de test de entrada se ignorará.
      Base: Y delta = 9048.6#
      Test: Y delta = 9048.61
    • "??": para enmascarar una palabra completa, agregue "??" al principio de la palabra.
      Base: Processing ??ESRI1/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE.DGN
      Test: Processing ESRI2/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE2.DGN
    • "?!": un token único puede tener un punto (.) integrado. Por ejemplo, para el nombre de un archivo con una extensión de streetnames.dbf, puede haber instancias en las que quiera que se ignore parte del nombre, antes o después del punto (.), en la comparación del token.
      Base: Master table is: streetnames?!.dbf
      Test: Master table is: streetnames
    • "???": enmascare toda la línea después de los caracteres ???.
      Base: ???       8       4       1       0      14      10
      Test:        12      8      2       1      16     12
  • ASCII es el tipo de archivo predeterminado. Cuando se utilicen archivos binarios como entrada, cambie el parámetro Tipo de archivo a Binario.

  • Cuando tenga lugar una comparación incorrecta entre los archivos ASCII, la herramienta reportará diferencias como el número total de caracteres que son diferentes y las diferencias correspondientes a cada línea.

  • Cuando la comparación de los archivos binarios sea errónea, la herramienta notificará que los tamaños de los archivos son distintos y se indicarán las diferencias para cada byte.

  • El valor del parámetro Archivo de comparación de salida tendrá registradas todas las similitudes y diferencias entre los valores de los parámetros Archivo base de entrada y Archivo de test de entrada. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS.

  • Cuando utilice esta herramienta en Python, obtenga el estado de la comparación a partir del objeto Result devuelto mediante el empleo de la posición de índice de 1 (result[1]). El valor será 'true' si no se encuentra ninguna diferencia y 'false' si se detecta alguna diferencia.

    Más información sobre el uso de herramientas en Python

Parámetros

EtiquetaExplicaciónTipo de datos
Archivo base de entrada

Archivo que se comparará con el valor del parámetro Archivo de test de entrada. El valor de este parámetro es un archivo que ha declarado válido. Este archivo base tiene el contenido y la información correctos.

File
Archivo test de entrada

Archivo que se comparará con el valor del parámetro Archivo base de entrada. El valor de este parámetro es un archivo que modificó al editar o compilar información nueva.

File
Tipo de archivo
(Opcional)

Especifica el tipo de comparación que se utilizará para los archivos.

  • ASCIILos archivos se compararán utilizando caracteres ASCII. Esta es la opción predeterminada.
  • BinarioLos archivos se compararán utilizando una comparación binaria.
String
Continuar comparación
(Opcional)

Especifica si la comparación continuará tras encontrar la primera diferencia entre las entradas.

  • Desactivado: la herramienta se detendrá tras encontrar la primera diferencia. Esta es la opción predeterminada.
  • Activado: la herramienta continuará tras encontrar la primera diferencia.

Boolean
Archivo de comparación de salida
(Opcional)

Archivo de salida que contendrá todas las similitudes y diferencias entre las entradas. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS.

Archivo de salida que contendrá todas las similitudes y diferencias entre las entradas. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS.

File

Salida derivada

EtiquetaExplicaciónTipo de datos
Estado de comparación

El estado de comparación será 'true' cuando no se encuentren diferencias y 'false' cuando se encuentren diferencias.

Boolean

arcpy.management.FileCompare(in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
NombreExplicaciónTipo de datos
in_base_file

Archivo que se comparará con el valor del parámetro in_test_file. El valor de este parámetro es un archivo que ha declarado válido. Este archivo base tiene el contenido y la información correctos.

File
in_test_file

Archivo que se comparará con el valor del parámetro in_base_file. El valor de este parámetro es un archivo que modificó al editar o compilar información nueva.

File
file_type
(Opcional)

Especifica el tipo de comparación que se utilizará para los archivos.

  • ASCIILos archivos se compararán utilizando caracteres ASCII. Esta es la opción predeterminada.
  • BINARYLos archivos se compararán utilizando una comparación binaria.
String
continue_compare
(Opcional)

Especifica si la comparación continuará tras encontrar la primera diferencia entre las entradas.

  • NO_CONTINUE_COMPARELa herramienta se detendrá tras encontrar la primera diferencia. Esta es la opción predeterminada.
  • CONTINUE_COMPARELa herramienta continuará tras encontrar la primera diferencia.
Boolean
out_compare_file
(Opcional)

Archivo de salida que contendrá todas las similitudes y diferencias entre las entradas. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS.

File

Salida derivada

NombreExplicaciónTipo de datos
compare_status

El estado de comparación será 'true' cuando no se encuentren diferencias y 'false' cuando se encuentren diferencias.

Boolean

Muestra de código

Ejemplo 1 de FileCompare (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función FileCompare de modo inmediato.

import arcpy
arcpy.management.FileCompare(
    r'C:/Workspace/well_xycoordinates.txt', 
    r'C:/Workspace/new_well_coordinates.txt', 'ASCII', 'CONTINUE_COMPARE', 
    r'C:/Workspace/well_file_compare.txt')
Ejemplo 2 de FileCompare (script independiente)

El siguiente ejemplo muestra cómo utilizar la función FileCompare en un script independiente.

# Name: FileCompare.py
# Description: Compare two text files and return comparison result.

# Import system modules 
import arcpy

# Set local variables
base_file= "C:/Workspace/well_xycoordinates.txt"
test_file= "C:/Workspace/new_well_coordinates.txt"
file_type = "ASCII"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/well_file_compare.txt"

# Process: FeatureCompare
compare_result = arcpy.management.FileCompare(base_file, test_features, 
                                              file_type, continue_compare, 
                                              compare_file)
print(compare_result)
print(arcpy.GetMessages())

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados