FAQ
ArcPy (ArcMap): 出力データのフィールドを設定したい (フィールド マッピング)

ナレッジ番号:3150 | 登録日:2023/05/29 | 更新日:2023/06/21

概要

空間結合やマージなど一部のツールで、出力フィーチャのフィールドについて詳細設定をするためのオプションを利用することができます。その設定は、フィールド マッピングオブジェクトの操作で行います。ここでは、フィールド マッピングの設定を行い、出力フィーチャクラスのフィールドを変更するサンプル コードをご紹介いたします。

Python ソース コード

ここでは、[cd] というフィールドに対してフィールド タイプを TEXT に設定し、[テーブル→テーブル] ツールで出力する処理を行います。

import arcpy

#変数
arcpy.env.workspace  = r"C:\Temp\a.gdb"
txtCSV = r"C:\Temp\a.csv"
outTable = "sample"

# FieldMap とFieldMappings オブジェクトの作成
fms = arcpy.FieldMappings()

#各フィールドをフィールドマッピングに追加
for field in arcpy.ListFields(txtCSV):
    if(field.name == "cd"):
        fm = arcpy.FieldMap()
        field.type = "TEXT"
        fm.addInputField(txtCSV, field.name)
        fm.outputField=field
        fms.addFieldMap(fm)
    else:
        fm1 = arcpy.FieldMap()
        fm1.addInputField(txtCSV, field.name)
        fm1.outputField=field
        fms.addFieldMap(fm1)

#[テーブル→テーブル] を実行
arcpy.TableToTable_conversion(txtCSV, arcpy.env.workspace, outTable, where_clause="", field_mapping=fms, config_keyword="")


メタデータ

種類

製品