导出表 (转换)

摘要

用于将表或表视图的行导出到新表中。

使用情况

  • 该工具将表、表视图、要素类、要素图层、分隔文件或具有属性表的栅格的行复制到新的地理数据库或 dBASE 表或分隔文件。

  • 此工具支持以下表格式作为输入:

    • 地理数据库
    • dBASE (.dbf)
    • Microsoft Excel 工作表(.xls.xlsx
    • 基于内存的表
    • 分隔文件
      • 逗号分隔的文件(.csv.txt.asc
      • 制表符分隔的文件(.tsv.tab
      • 竖线分隔的文件 (.psv)

    对于带分隔符的文件,输入文件的第一行将用作输出表上的字段名称。 字段名称不能包含空格或特殊字符(如 $ 或 *),如果输入文件的第一行包含空格或特殊字符,则将出错。

  • 通过将以下文件扩展名之一添加到文件夹工作空间中的输出名称,该工具可用于输出带分隔符的文件

    • 逗号分隔的文件(.csv.txt.asc
    • 制表符分隔的文件(.tsv.tab
    • 竖线分隔的文件 (.psv)

  • 如果输出不在地理数据库中,则不会包含 BLOB 或栅格字段。 GlobalID 字段将转换为文本字段。

  • 使用字段映射参数管理输出数据集中的字段及其内容。

    • 您可以向字段列表中添加和移除字段,重新排序字段列表,并重命名字段。
    • 输出字段的默认数据类型与其所遇到的第一个名称相同的输入字段的数据类型相同。 可以将数据类型更改为其他有效的数据类型。
    • 使用操作确定如何将一个或多个输入字段的值合并到单个输出字段中。 可用的操作包括第一个最后一个串连求和平均值中位数众数最小值最大值标准差计数
    • 当使用串连操作时,可以指定分隔符,例如逗号或其他字符。 单击分隔符文本框的开始部分以添加分隔符。
    • 单个输入值不支持标准差选项。
    • 对于文本源字段,使用分割文本按钮,可以选择从输入值中提取到输出字段的字符。 要访问分割文本按钮,需将鼠标悬停在输入字段列表中的文本字段上,然后指定起始和结束字符位置。
    • 还可以使用 Python 脚本映射字段。

  • 可用于选择要素子集的 SQL 表达式。 有关表达式参数语法的详细信息,请参阅 ArcGIS 中使用的查询表达式的 SQL 参考

  • 通过指定排序字段参数值,可以按升序或降序对行重新排序。 如果指定了多个字段,则行将按第一个字段排序,然后在该顺序内按第二个字段排序,依此类推。

  • 转换包含子类型或域的地理数据库数据且输出工作空间不是地理数据库时,子类型和域代码以及描述都将包含在输出中。 使用传送字段属性域描述环境控制此行为。 默认情况下,只有属性域和子类型代码才会被包含在输出中,描述不会被包含在输出中。

    注:

    与没有描述相比,转换为带有子类型和域描述的 dBASE 表可能需要更多时间(性能更慢)。 如果输出中不需要子类型和属性域描述,请取消选中“传输字段属性域描述”环境以获得最佳性能。

参数

标注说明数据类型
输入表

要导出到新表格的包含行的输入表。

Table View; Raster Layer
输出表

包含导出行的输出表。

如果输出位置为文件夹,则需要包含扩展名,例如 .csv.txt.dbf,以将表格导出为相应格式。 如果输出位置为地理数据库,则无需指定扩展名。

Table
表达式
(可选)

用于选择记录子集的 SQL 表达式。

SQL Expression
使用字段别名作为名称

指定是将输入字段名称还是字段别名用作输出字段名称。

  • 未选中 - 将输入字段名称用作输出字段名称。 这是默认设置。
  • 选中 - 将输入字段别名用作输出字段名称。
Boolean
字段映射
(可选)

将字段及其各自属性和源字段传输到输出数据集中。 默认情况下,输出包括来自输入数据集的所有字段。

使用字段映射来添加、删除、重命名和重新排序字段,以及更改其他字段属性。

字段映射还可以用于将两个或多个输入字段的值合并为单个输出字段。

Field Mappings
排序字段
(可选)

包含对输入记录重新排序所用的值的一个或多个字段,以及记录的排序方向。

  • 升序 - 将按照值从低到高的顺序对记录进行排序。
  • 降序 - 将按照值从高到低的顺序对记录进行排序。

Value Table

arcpy.conversion.ExportTable(in_table, out_table, {where_clause}, use_field_alias_as_name, {field_mapping}, {sort_field})
名称说明数据类型
in_table

要导出到新表格的包含行的输入表。

Table View; Raster Layer
out_table

包含导出行的输出表。

如果输出位置为文件夹,则需要包含扩展名,例如 .csv.txt.dbf,以将表格导出为相应格式。 如果输出位置为地理数据库,则无需指定扩展名。

Table
where_clause
(可选)

用于选择记录子集的 SQL 表达式。有关 SQL 语法的详细信息,请参阅帮助主题在 ArcGIS 中使用的查询表达式的 SQL 参考

SQL Expression
use_field_alias_as_name

指定是将输入字段名称还是字段别名用作输出字段名称。

  • NOT_USE_ALIAS将输入字段名称用作输出字段名称。 这是默认设置。
  • USE_ALIAS将输入字段别名用作输出字段名称。
Boolean
field_mapping
(可选)

将字段及其各自属性和源字段传输到输出数据集中。 默认情况下,输出包括来自输入数据集的所有字段。

使用字段映射来添加、删除、重命名和重新排序字段,以及更改其他字段属性。

字段映射还可以用于将两个或多个输入字段的值合并为单个输出字段。

Field Mappings
sort_field
[sort_field,...]
(可选)

包含对输入记录重新排序所用的值的一个或多个字段,以及记录的排序方向。

  • ASCENDING - 将按照值从低到高的顺序对记录进行排序。
  • DESCENDING - 将按照值从高到低的顺序对记录进行排序。

Value Table

代码示例

ExportTable 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.conversion.ExportTable("vegtable.dbf", "C:/output/output.gdb/vegtable")
ExportTable 示例 2(独立脚本)

以下独立脚本演示了如何使用 ExportTable 函数。

#  Description: Use TableToTable with an expression to create a subset
#  of the original table.
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data"
 
# Set local variables
inTable = "vegtable.dbf"
outTable = "C:/output/output.gdb/estuarine.csv"

# Set the expression, with help from the AddFieldDelimiters function, to select 
# the appropriate field delimiters for the data type
expression = arcpy.AddFieldDelimiters(arcpy.env.workspace, "VEG_TYPE") + " = 'Estuarine'"
 
# Run TableToTable
arcpy.conversion.ExportTable(inTable, outTable, expression, "NOT_USE_ALIAS")

相关主题