标注 | 说明 | 数据类型 |
输入数据集 | 包含要附加文件的记录的数据集。 | Table View |
输入文件夹 | 包含要附加的文件的文件夹。 | Folder |
输出匹配表 | 具有 MATCHID 和 FILENAME 字段的输出匹配表。 | Table |
关键字段 | 将使用其中的值来匹配输入文件夹中文件的名称的字段。 匹配行为将对字段值和每个文件名进行比较,而不考虑文件扩展名。 从而使文件扩展名不同的多个文件与输入数据集中的一条记录相匹配。 例如,如果匹配模式参数值为精确,则 lot5986 的字段值将匹配名为 lot5986.jpg 的文件。 | Field |
输入数据过滤器 (可选) | 将用于限制要匹配的文件的数据过滤器。 可以使用通配符 (*) 来获得更灵活的过滤选项。 还支持以分号分隔的多个过滤器。 例如,您的输入目录包含各种文件类型。 要将可能的匹配项限制为仅 .jpg 文件,请使用值 *.jpg。 要将可能的匹配项限制为仅 .pdf 和 .doc 文件,请使用值 *.pdf; *.doc。 要将可能的匹配项限制为仅包含文本 arc 的文件名,请使用值 *arc*。 | String |
存储相关路径 (可选) | 指定输出匹配表字段 FILENAME 将包含完整路径,还是仅包含文件名。
| Boolean |
匹配模式 (可选) | 指定将用于将文件名与指定的关键字段参数值匹配的匹配模式的类型。
| String |
使用情况
参数
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths}, {match_pattern})
名称 | 说明 | 数据类型 |
in_dataset | 包含要附加文件的记录的数据集。 | Table View |
in_folder | 包含要附加的文件的文件夹。 | Folder |
out_match_table | 具有 MATCHID 和 FILENAME 字段的输出匹配表。 | Table |
in_key_field | 将使用其中的值来匹配输入文件夹中文件的名称的字段。 匹配行为将对字段值和每个文件名进行比较,而不考虑文件扩展名。 从而使文件扩展名不同的多个文件与输入数据集中的一条记录相匹配。 例如,如果 match_pattern 参数值为 EXACT,则 lot5986 的字段值将匹配名为 lot5986.jpg 的文件。 | Field |
in_file_filter (可选) | 将用于限制要匹配的文件的数据过滤器。 可以使用通配符 (*) 来获得更灵活的过滤选项。 还支持以分号分隔的多个过滤器。 例如,您的输入目录包含各种文件类型。 要将可能的匹配项限制为仅 .jpg 文件,请使用值 *.jpg。 要将可能的匹配项限制为仅 .pdf 和 .doc 文件,请使用值 *.pdf; *.doc。 要将可能的匹配项限制为仅包含文本 arc 的文件名,请使用值 *arc*。 | String |
in_use_relative_paths (可选) | 指定输出匹配表字段 FILENAME 将包含完整路径,还是仅包含文件名。
| Boolean |
match_pattern (可选) | 指定将用于将文件名与指定的 key_field 参数值匹配的匹配模式的类型。
| String |
代码示例
以下代码片段演示了如何在 Python 窗口中使用 GenerateAttachmentMatchTable 函数。
import arcpy
arcpy.management.GenerateAttachmentMatchTable(
"C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE",
"EXACT")
以下独立脚本演示了如何使用 GenerateAttachmentMatchTable 函数创建包含 .jpg 和 .pdf 文件的匹配项的匹配表。
# Name: GenerateAttachmentMatchTable_Example.py
# Description: Create an attachment match table for all files that contain the string
# 'property' and are of type 'jpg' while looping through multiple folders.
# Import system modules
import arcpy
import os
# Set local variables.
rootFolder = 'c:/work/'
for folder in os.walk(rootFolder):
# Exclude file geodatabases from the folder list.
if folder[0].find('.gdb') == -1:
arcpy.management.GenerateAttachmentMatchTable(
"C:/data/parcels.gdb/parcels", folder[0],
"C:/data/temp.gdb/matchtable", "AttachmentKeyField",
"*property*.jpg", "RELATIVE", "EXACT")
环境
此工具不使用任何地理处理环境。