概要
空間結合やマージなど一部のツールで、出力フィーチャのフィールドについて詳細設定をするためのオプションを利用することができます。その設定は、フィールド マッピングオブジェクトの操作で行います。ここでは、フィールド マッピングの設定を行い、出力フィーチャクラスのフィールドを変更するサンプル コードをご紹介いたします。
Python ソース コード
ここでは、[cd] というフィールドに対してフィールド タイプを TEXT に設定し、[テーブル→テーブル] ツールで出力する処理を行います。
import arcpy
#変数
arcpy.env.workspace = r"C:Tempa.gdb"
txtCSV = r"C:Tempa.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="")
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!