标注 | 说明 | 数据类型 |
输入行 | 要复制到新表的输入行。 | Table View; Raster Layer |
输出表 | 将要创建以及要将输入中的行复制到的表格。 如果输出表位于文件夹中,则需要包含扩展名,例如 .csv、.txt 或 .dbf,以使表格具有指定格式。 如果输出表位于地理数据库中,则无需指定扩展名。 | Table |
配置关键字 (可选) | 企业级地理数据库的默认存储参数。 | String |
摘要
可将表的行复制到不同表中。
使用情况
该工具可将表、表视图、要素类、要素图层、带分隔符的文件或者具有属性表的栅格的行复制到新的地理数据库、dBASE 表或带分隔符的文件。
此工具支持以下表格式作为输入:
- 地理数据库
- dBASE (.dbf)
- Microsoft Excel 工作表(.xls 和 .xlsx)
- 基于内存的表
- 分隔文件
- 逗号分隔的文件(.csv、.txt 和 .asc)
- 制表符分隔的文件(.tsv 和 .tab)
- 竖线分隔的文件 (.psv)
对于带分隔符的文件,输入文件的第一行将用作输出表上的字段名称。 字段名称不能包含空格或特殊字符(如 $ 或 *),如果输入文件的第一行包含空格或特殊字符,则将出错。
通过将以下文件扩展名之一添加到文件夹工作空间中的输出名称,该工具可用于输出带分隔符的文件:
- 逗号分隔的文件(.csv、.txt 或 .asc)
- 制表符分隔的文件(.tsv 或 .tab)
- 竖线分隔的文件 (.psv)
如果输入为表视图或要素图层并具有选择内容,则只能将所选行复制到输出表格。
如果输入的是要素类或表,则会复制所有行。 如果输入行来自具有选择内容的图层或表视图,则只会使用所选要素或行。
如果输入行是要素类,则只会将属性(不包含几何)复制到输出表中。
要将复制的行添加或追加到现有表中,请使用追加工具。
参数
arcpy.management.CopyRows(in_rows, out_table, {config_keyword})
名称 | 说明 | 数据类型 |
in_rows | 要复制到新表的输入行。 | Table View; Raster Layer |
out_table | 将要创建以及要将输入中的行复制到的表格。 如果输出表位于文件夹中,则需要包含扩展名,例如 .csv、.txt 或 .dbf,以使表格具有指定格式。 如果输出表位于地理数据库中,则无需指定扩展名。 | Table |
config_keyword (可选) | 企业级地理数据库的默认存储参数。 | String |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 CopyRows 函数。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyRows("vegtable.dbf", "C:/output/output.gdb/vegtable")
以下独立脚本演示了如何使用 CopyRows 函数将文件夹中的表复制到文件地理数据库中。
# Description: Convert all dBASE tables in a folder to geodatabase tables
# Requirement: os module
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
outWorkspace = "c:/output/output.gdb"
# Use ListTables to generate a list of dBASE tables in the
# workspace shown above.
tableList = arcpy.ListTables()
# Run CopyRows for each input table
for dbaseTable in tableList:
# Determine the new output feature class path and name
outTable = os.path.join(outWorkspace, os.path.splitext(dbaseTable)[0])
arcpy.management.CopyRows(dbaseTable, outTable)