ファイル比較 (File Compare) (データ管理)

サマリー

2 つのファイルを比較して、比較結果を返します。

使用法

  • このツールは、比較結果を示すメッセージを返します。 デフォルトでは、ツールは入力間の最初の相違点を検出した後に実行を停止します。 相違点をすべてレポートする場合は、[比較を継続] パラメーターをオンにします。

  • 入力データセット間でレポートされた相違点の原因がレコードの追加または削除である場合、最初にレポートされた相違点のみが有効です。 追加または削除後にレポートされたすべての相違点は、比較の順序が間違っていることが原因となります。 比較ツールは、追加または削除されたレコードを検出した後、次の一致するレコード セットを検出しようとはしません。

  • このツールは 2 つの ASCII ファイル間または 2 つのバイナリ ファイル間の相違点をレポートできます。

  • このツールでは、ASCII ファイル内のテキストの文字、単語、および行のマスキングがサポートされています。 たとえば、作成日時を表すテキストを含んでいる場合以外は一致する 2 つのファイルが存在することがあります。 この差異により、結果は不一致になります。 さらに、数字がプラットフォームごとに格納または処理される点でわずかな変動があります。 このため、プラットフォーム間で数値の精度に違いが生じます。 不正な文字の比較を処理するために、このツールは複数のマスキング機能を備えています。 新しいテキスト ファイルを既存のベース ファイルと比較する前に、以下の特別なマスキング シンボルが含まれるようにベース ファイルを編集してください。

    • "#" - 入力ベース ファイル内で「#」記号が出現した場合は常に、入力テスト ファイル内の対応する文字が無視されます。
      Base: Y delta = 9048.6#
      Test: Y delta = 9048.61
    • "??" - 単語全体をマスキングするには、その単語の先頭に「??」を追加します。
      Base: Processing ??ESRI1/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE.DGN
      Test: Processing ESRI2/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE2.DGN
    • "?!" - 1 つのトークンに「.」(ピリオド) が埋め込まれていることがあります。 たとえば、streetnames.dbf などの拡張子の付いたファイル名の場合、「.」の前か後の名前の一部をトークンの比較で除外したい場合があります。
      Base: Master table is: streetnames?!.dbf
      Test: Master table is: streetnames
    • "???" - ??? の後に続く行全体をマスキングできます。
      Base: ???       8       4       1       0      14      10
      Test:        12      8      2       1      16     12
  • ASCII がデフォルトのファイル タイプです。 バイナリ ファイルを入力として使用する場合は、[ファイル タイプ] パラメーターを [バイナリ] に変更します。

  • ASCII ファイルに不一致がある場合は、文字の合計数が異なっているなどの相違点や、各行の相違点がレポートされます。

  • バイナリ ファイルに不一致がある場合は、ファイル サイズが異なるなどの相違点や、各バイトの相違点がレポートされます。

  • [出力比較ファイル] パラメーター値には、[入力ベース ファイル] パラメーター値および [入力テスト ファイル] パラメーター値の間のすべての類似点と相違点が含まれます。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

  • このツールを Python で使用する場合、1 のインデックス位置 (result[1]) を使用して、返された Result オブジェクトから比較状況を取得します。 相違点が検出されない場合は値が 'true'、相違点が検出された場合は 'false' になります。

    Python でのツールの使用についての詳細

パラメーター

ラベル説明データ タイプ
入力ベース ファイル

[入力テスト ファイル] パラメーター値と比較されるファイル。 このパラメーター値は、有効と宣言したファイルです。 このベース ファイルには正しいコンテンツおよび情報が含まれます。

File
入力テスト ファイル

[入力ベース ファイル] パラメーター値と比較されるファイル。 このパラメーター値は、新しい情報の編集またはコンパイルによって変更を行ったファイルです。

File
ファイル タイプ
(オプション)

ファイルで使用する比較のタイプを指定します。

  • ASCIIファイルは、ASCII 文字を使用して比較されます。 これがデフォルトです。
  • バイナリファイルは、バイナリ比較を使用して比較されます。
String
比較を継続
(オプション)

入力間の最初の相違点を検出した後も比較を継続するかどうかを指定します。

  • オフ - ツールは、最初の相違点を検出した後に動作を停止します。 これがデフォルトです。
  • オン - ツールは、最初の相違点を検出した後も動作を継続します。

Boolean
出力比較ファイル
(オプション)

入力間のすべての類似点と相違点が含まれている出力ファイル。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

入力間のすべての類似点と相違点が含まれている出力ファイル。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

File

派生した出力

ラベル説明データ タイプ
比較状況

相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。

Boolean

arcpy.management.FileCompare(in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
名前説明データ タイプ
in_base_file

in_test_file パラメーター値と比較されるファイル。 このパラメーター値は、有効と宣言したファイルです。 このベース ファイルには正しいコンテンツおよび情報が含まれます。

File
in_test_file

in_base_file パラメーター値と比較されるファイル。 このパラメーター値は、新しい情報の編集またはコンパイルによって変更を行ったファイルです。

File
file_type
(オプション)

ファイルで使用する比較のタイプを指定します。

  • ASCIIファイルは、ASCII 文字を使用して比較されます。 これがデフォルトです。
  • BINARYファイルは、バイナリ比較を使用して比較されます。
String
continue_compare
(オプション)

入力間の最初の相違点を検出した後も比較を継続するかどうかを指定します。

  • NO_CONTINUE_COMPAREツールは、最初の相違点を検出した後に動作を停止します。 これがデフォルトです。
  • CONTINUE_COMPAREツールは、最初の相違点を検出した後に動作を継続します。
Boolean
out_compare_file
(オプション)

入力間のすべての類似点と相違点が含まれている出力ファイル。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

File

派生した出力

名前説明データ タイプ
compare_status

相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。

Boolean

コードのサンプル

FileCompare の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで FileCompare 関数を使用する方法を示しています。

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')
FileCompare の例 2 (スタンドアロン スクリプト)

次の例では、スタンドアロン スクリプトで FileCompare 関数を使用する方法を示しています。

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

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック