エラー
文字列フィールドの Python スクリプトで replace() 関数を使用しようとすると失敗し、次のエラーが返されます。
エラー: 'NoneType’ オブジェクトに属性 'replace' がありません。
このエラーは、選択されたフィールドに Null 値がある場合に発生します。 次の図に、Null 値を含むフィールドがある属性テーブルを示します。
import arcpy cursor = arcpy.da.UpdateCursor ("[Feature]", "[Field Name]" for row in cursor: row[0] = row[0].replace("%20", " ") cursor.updateRow(row)
選択句を使用し、フィールドの Null 値で replace() 関数を実行しないようにします。 その手順を、以下のコード サンプルに示します。
import arcpy cursor = arcpy.da.UpdateCursor("[Feature]", "[Field Name]") for row in cursor: if row[0] == None: row[0] = row[0] else: row[0] = row[0].replace("%20", " ") cursor.updateRow (row)
ArcGIS の専門家からヘルプを受ける
Esri Support アプリのダウンロード