在ArcMap中使用UpdateCursor查找和替换文本

0 投票
1 回答
905 浏览
提问于 2025-04-18 15:58

在ArcMap中,我想要在一个字段里找到并替换地址的一部分。比如,我的地理数据库表里有这样的字段:“None None, , Queenstown”。我想把“None None, , ”替换成空白文本。我在考虑用UpdateCursor来实现这个。

到目前为止,我已经找到了包含“None None, , ”的特征:

with arcpy.da.UpdateCursor(fcOrganisation, fields) as cursor:
    for row in cursor:
        if "None  None, , " in row[0]:
            print "C = %s" % (row[0])

这让我得到了一个包含“None None, , ”的行列表:

C = None  None, , Stutterheim
C = None  None, , Bhisho
C = None  None, , Queenstown
C = None  None, , East London
C = None  None, , East London
C = None  None, , Port Elizabeth
C = None  None, , Alice
C = None  None, , Port Elizabeth

现在我想只替换“None None, , ”,这样我就只会得到城镇的名字:

Stutterheim
Bhisho
Queenstown
East London
East London
Port Elizabeth
Alice
Port Elizabeth

我可以在ArcMap的表格字段上做到这一点。请问有没有办法用python/arcpy和UpdateCursor来实现这个?

谢谢大家的帮助。

1 个回答

1

把它做成这样:

with arcpy.da.UpdateCursor(fcOrganisation, fields) as cursor:
    for row in cursor:
        srchStr = "None  None, , "
        if srchStr in row[0]:
            print "C = %s" % (row[0])
            cursor.updateRow(row[0][len(srchStr):])

撰写回答