表比较 (数据管理)

摘要

对两个表或表视图进行比较并返回比较结果。此工具可以对表格值和字段定义方面存在的异同进行报告。

用法

语法

TableCompare_management (in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
参数说明数据类型
in_base_table

输入基础表输入测试表进行比较。输入基础表是指已被声明为有效的表格数据。该基础数据具有正确的字段定义和属性值。

Table View; Raster Layer
in_test_table

输入测试表输入基础表进行比较。输入测试表是指已通过编辑或编译新的字段、新的记录或新的属性值而进行更改的数据。

Table View ; Raster Layer
sort_field
[sort_field,...]

用于在输入基础表输入测试表中对记录进行排序的一个或多个字段。记录将以升序进行排序。在输入基础表输入测试表中均按共用字段进行排序,可确保对每个输入数据集中相同的行进行比较。

Value Table
compare_type
(可选)

比较类型。默认设置为 ALL。该默认设置将对要比较的表中的所有属性进行比较。

  • ALL比较所有属性。这是默认设置。
  • ATTRIBUTES_ONLY仅比较属性及其值。
  • SCHEMA_ONLY仅比较方案。
String
ignore_options
(可选)

在比较过程中不会对以下属性进行比较。

  • IGNORE_EXTENSION_PROPERTIES不比较扩展属性。
  • IGNORE_SUBTYPES不比较子类型。
  • IGNORE_RELATIONSHIPCLASSES不比较关系类。
String
attribute_tolerances
[[Field, {Tolerance}],...]
(可选)

在该数值范围内的属性值将被视作相同。它仅适用于数值字段类型。

Value Table
omit_field
[omit_field,...]
(可选)

在比较过程中将被忽略的一个或多个字段。这些字段的字段定义和表格值将被忽略。

String
continue_compare
(可选)

指示在遇到第一个不匹配项后是否继续比较所有属性。

  • NO_CONTINUE_COMPARE在遇到第一个不匹配项后即停止比较。这是默认设置。
  • CONTINUE_COMPARE在遇到第一个不匹配项后继续比较其他属性。
Boolean
out_compare_file
(可选)

该文件将包含“输入基础表”与“输入测试表”之间的所有异同点。该文件是一个以逗号分隔的文本文件,在 ArcGIS 中可以表的形式对其进行查看和使用。

File

代码示例

TableCompare 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在立即模式下使用 TableCompare 函数。

import arcpy from arcpy import env arcpy.TableCompare_management(r'c:\Workspace\wells.dbf', r'c:\Workspace\wells_new.dbf', 'WELL_ID', 'ALL', 'IGNORE_EXTENSION_PROPERTIES', 'WELL_DEPTH 0.001', '#', 'CONTINUE_COMPARE', r'C:\Workspace\well_compare.txt' )
TableCompare 工具示例(独立脚本)

如何在独立脚本中使用 TableCompare 工具的示例。

# Name: TableCompare.py # Description: Compare two dBASE tables and return comparison result. # Author: ESRI  # import system modules  import arcpy  try:     # Set local variables     base_table= "C:/Workspace/wells.dbf"     test_table = "C:/Workspace/wells_new.dbf"     sort_field = "WELL_ID"     compare_type = "ALL"     ignore_option = "IGNORE_EXTENSION_PROPERTIES"     attribute_tolerance = "WELL_DEPTH 0.001"     omit_field = "#"     continue_compare = "CONTINUE_COMPARE"     compare_file = "C:/Workspace/well_compare.txt"       # Process: FeatureCompare     compare_result = arcpy.TableCompare_management(base_table, test_table, sort_field, compare_type, ignore_option, attribute_tolerance, omit_field, continue_compare, compare_file)     print compare_result     print arcpy.GetMessages()   except:     # Print error message if an error occurs     print arcpy.GetMessages()

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012