Comparaison de fichiers (Gestion des données)

Synthèse

Compare deux fichiers et renvoie les résultats de la comparaison.

Utilisation

  • Cet outil renvoie des messages affichant le résultat de la comparaison. Par défaut, l’outil cesse de s’exécuter dès qu’il détecte la première différence entre les entrées. Pour signaler toutes les différences, activez le paramètre Continuer la comparaison.

  • Si les différences signalées entre les jeux de données en entrée sont liées à l’ajout ou à la suppression d’enregistrements, seule la première différence signalée est valide. Toutes les différences signalées après l’ajout ou la suppression sont dues au fait que la comparaison ne suit pas l’ordre séquentiel. Les outils de comparaison ne tentent pas de trouver l’ensemble d’enregistrements correspondants suivant après la détection d’un enregistrement ajouté ou supprimé.

  • Cet outil permet de signaler les différences entre deux fichiers ASCII ou deux fichiers binaires.

  • Cet outil prend en charge le masquage de caractères, de mots et de lignes de texte dans un fichier ASCII. Par exemple, deux fichiers peuvent être identiques sauf qu’ils contiennent du texte représentant la date et l’heure de création. Cette différence peut entraîner une erreur de comparaison. De plus, de petites variations surviennent dans la façon qu'à chaque plate-forme de stocker ou de manipuler les chiffres. Cela produit des différences de précision numérique entre plates-formes. Pour gérer les fausses comparaisons de caractère, cet outil fournit plusieurs fonctions de masquage. Avant de comparer de nouveaux fichiers texte avec les fichiers de base existants, modifiez ces fichiers de base de sorte à inclure ces symboles de masquage spéciaux.

    • "#" : partout où apparaît le symbole # dans le fichier de base en entrée, le caractère correspondant dans le fichier de test en entrée sera ignoré.
      Base: Y delta = 9048.6#
      Test: Y delta = 9048.61
    • "??" : pour masquer un mot entier, ajoutez "??" au début du mot.
      Base: Processing ??ESRI1/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE.DGN
      Test: Processing ESRI2/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE2.DGN
    • "?!" : un seul jeton peut comporter un point (.) intégré. Par exemple, pour le nom d’un fichier avec l’extension streetnames.dbf, vous pouvez parfois souhaiter qu’une partie du nom, avant ou après le point (.), soit ignorée dans la comparaison du jeton.
      Base: Master table is: streetnames?!.dbf
      Test: Master table is: streetnames
    • "???" : permet de masquer la ligne entière qui suit les caractères ???.
      Base: ???       8       4       1       0      14      10
      Test:        12      8      2       1      16     12
  • ASCII est le type de fichier par défaut. Lorsque vous utilisez des fichiers binaires en entrée, définissez le paramètre Type de fichier sur Binaire.

  • En cas d’erreur de comparaison entre des fichiers ASCII, l’outil signale les différences (le nombre total de caractères qui sont différents et les différences pour chaque ligne, par exemple).

  • En cas d’erreur de comparaison entre des fichiers binaires, l’outil signale que les tailles de fichier sont différentes et les différences pour chaque octet.

  • La valeur du paramètre Fichier de comparaison en sortie contiendra toutes les similitudes et toutes les différences trouvées entre les valeurs de paramètre Fichier de base en entrée et Fichier test en entrée. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

  • Lorsque vous utilisez cet outil dans Python, vous obtenez le statut de la comparaison à partir de l’objet Result renvoyé à l’aide de la position d’index 1.(result[1]). La valeur est 'true' si aucune différence n’est trouvée et 'false' dans le cas contraire.

    En savoir plus sur l’utilisation des outils dans Python

Paramètres

ÉtiquetteExplicationType de données
Fichier de base en entrée

Fichier qui sera comparé à la valeur du paramètre Fichier test en entrée. Cette valeur de paramètre est un fichier que vous avez déclaré comme valide. Il offre le contenu et les informations valides.

File
Fichier test en entrée

Fichier qui sera comparé à la valeur du paramètre Fichier de base en entrée. Cette valeur de paramètre est un fichier que vous avez modifié en mettant à jour ou en compilant de nouvelles informations.

File
Type de fichier
(Facultatif)

Indique le type de comparaison qui sera utilisé pour les fichiers.

  • ASCIIFichiers qui seront comparés à l’aide de caractères ASCII. Il s’agit de l’option par défaut.
  • BinaireFichiers qui seront comparés à l’aide d’une comparaison binaire.
String
Continuer la comparaison
(Facultatif)

Indique si la comparaison continue une fois qu’elle a détecté la première différence entre les entrées.

  • Désactivé : l’outil arrête la comparaison dès qu’une première différence est rencontrée. Il s’agit de l’option par défaut.
  • Activé : l’outil poursuit la comparaison après la première différence.

Boolean
Fichier de comparaison en sortie
(Facultatif)

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

File

Sortie obtenue

ÉtiquetteExplicationType de données
Comparer le statut

Le statut de la comparaison est défini sur 'true' si aucune différence n’est trouvée, et sur 'false' dans le cas contraire.

Boolean

arcpy.management.FileCompare(in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
NomExplicationType de données
in_base_file

Fichier qui sera comparé à la valeur du paramètre in_test_file. Cette valeur de paramètre est un fichier que vous avez déclaré comme valide. Il offre le contenu et les informations valides.

File
in_test_file

Fichier qui sera comparé à la valeur du paramètre in_base_file. Cette valeur de paramètre est un fichier que vous avez modifié en mettant à jour ou en compilant de nouvelles informations.

File
file_type
(Facultatif)

Indique le type de comparaison qui sera utilisé pour les fichiers.

  • ASCIIFichiers qui seront comparés à l’aide de caractères ASCII. Il s’agit de l’option par défaut.
  • BINARYFichiers qui seront comparés à l’aide d’une comparaison binaire.
String
continue_compare
(Facultatif)

Indique si la comparaison continue une fois qu’elle a détecté la première différence entre les entrées.

  • NO_CONTINUE_COMPAREL’outil arrête la comparaison dès qu’une première différence est rencontrée. Il s’agit de l’option par défaut.
  • CONTINUE_COMPAREL’outil poursuit la comparaison après la première différence.
Boolean
out_compare_file
(Facultatif)

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

File

Sortie obtenue

NomExplicationType de données
compare_status

Le statut de la comparaison est défini sur 'true' si aucune différence n’est trouvée, et sur 'false' dans le cas contraire.

Boolean

Exemple de code

Exemple 1 d’utilisation de la fonction FileCompare (fenêtre Python)

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction FileCompare en mode immédiat.

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')
Exemple 2 d’utilisation de l’outil FileCompare (script autonome)

L’exemple suivant illustre l’utilisation de la fonction FileCompare dans un script autonome.

# 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())

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Rubriques connexes