エラー
文字列フィールドの 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)

記事 ID: 000014467
ArcGIS エキスパートのサポートを受ける
今すぐチャットを開始