创建表视图 (数据管理)

摘要

根据输入要素类创建表视图。由于此工具创建的表视图是临时性的,如果不保存文档,该图层将在会话结束后消失。

用法

语法

MakeTableView_management (in_table, out_view, {where_clause}, {workspace}, {field_info})
参数说明数据类型
in_table

输入表或要素类。

Table View;Raster Layer
out_view

要创建的表视图的名称。

Table View ;Raster Layer
where_clause
(可选)

用于选择要素子集的 SQL 表达式。表达式的语法会因数据源的不同而稍有不同。例如,如果要查询文件或 ArcSDE 地理数据库、shapefile 或 coverage,字段名需用双引号:

"MY_FIELD"

如果要查询个人地理数据库,需将字段用方括号括起:

[MY_FIELD]

在 Python 中,字符串用成对的单引号或双引号括起。要创建含有引号的字符串(常见于 SQL 表达式中的 WHERE 子句),可以对引号进行转义(使用反斜线)或对字符串使用三重引号。例如,如果所需的 WHERE 子句为

"CITY_NAME" = 'Chicago'

可以将整个字符串用双引号括起,然后如下所示对内部双引号进行转义:

" \"CITY_NAME\" = 'Chicago' "

或者可以将整个字符串用单引号括起,然后如下所示对内部单引号进行转义:

' "CITY_NAME" = \'Chicago\' '

或者不进行转义,而将整个字符串用三重引号括起:

""" "CITY_NAME" = 'Chicago' """

有关 SQL 语法及其在不同数据源中的差异的详细信息,请参阅帮助主题在 ArcGIS 中使用查询表达式的 SQL 参考

SQL Expression
workspace
(可选)

用于验证字段名的输入工作空间。如果输入是地理数据库表,而输出工作空间是 dBASE 表,则字段名可能会被截断,这是由于 dBASE 字段名最多只能具有十个字符。可以使用字段信息控件查看和更改新名称。

Workspace
field_info
(可选)

指定要对输入表中的哪些字段进行重命名并使这些字段在输出表视图中可见。

Field Info

代码示例

MakeTableView 示例 1(Python 窗口)

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

import arcpy  arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
MakeTableView 示例 2(独立脚本)

以下独立脚本演示了如何使用带有 FieldInfo 对象的 MakeTableView 过滤输出中的字段。

# Name: MakeTableView_Example2.py # Description: Uses a FieldInfo object to select a subset of fields and renaming one field's name. # Author: ESRI  # Import system modules import arcpy  # Set data path intable = "C:/data/tables.gdb/crimefreq"  # Get the fields from the input fields= arcpy.ListFields(intable)  # Create a fieldinfo object fieldinfo = arcpy.FieldInfo()  # Iterate through the fields and set them to fieldinfo for field in fields:     if field.name == "FREQUENCY":         fieldinfo.addField(field.name, "NEWFREQ", "VISIBLE", "")     elif field.name == "CRIME_CAT":         fieldinfo.addField(field.name, field.name, "HIDDEN", "")     elif field.name == "BEAT":         fieldinfo.addField(field.name, field.name, "VISIBLE", "")  # The created crime_view layer will have fields as set in fieldinfo object arcpy.MakeTableView_management(intable, "crime_view", "", "", fieldinfo)  # Persist the layer on disk arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")  

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012