FAQ
ArcPy (ArcMap): フィールドの値を更新する方法

ナレッジ番号:2890 | 登録日:2023/05/29 | 更新日:2024/11/21

概要

Python スクリプトを使用して、新規にフィールドを追加して値を設定する方法をご紹介します。

ここでは、追加したフィールドに設定する値として、既存の他のフィールドの値を使用しています。値の設定には、データアクセス モジュールの UpdateCursor を使用しています。

サンプル コード

# coding:cp932
# Purpose:  フィーチャクラスに新規にフィールドを追加し、他のフィールド値を利用して値を更新します。

# ArcPy サイト パッケージをインポートします。
import arcpy

# ワークスペースを設定します。
arcpy.env.workspace = r"C:\FAQ\database.gdb"

# 関数の引数に使用する変数を設定します。
inputFeatureClass = "japan_ver71"
fieldName = "Full_Address"

# [フィールドの追加(Add Field)] ツールを使用して、対象のフィーチャクラスに新規にフィールドを追加します。
arcpy.AddField_management(inputFeatureClass, fieldName, "Text")

# データアクセス モジュールの UpdateCursor を取得します。
# Cursor を使用することで、フィーチャ毎のループ処理を行えます。
# 第二引数に、取得したいフィールドをリストで指定します。
cur = arcpy.da.UpdateCursor(inputFeatureClass, [fieldName, "KEN", "SIKUCHOSON", "CITY_ENG"])

# UpdateCursor の updateRow メソッドを使用して、フィールドの値を更新します。
# ここでは、既存の 3 つのフィールド値を利用して、新規に作成したフィールドの値として使用しています。
for row in cur:
    # 例: "東京都_千代田区(Chiyoda-ku)"
    row[0] = row[1] + "_" + row[2] + "(" + row[3] + ")"
    cur.updateRow(row)

# オブジェクトを削除し、参照を解放します。
del cur, row

免責事項

こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。

メタデータ

種類

製品