如何在arcpy中使用替换功能?

时间:2014-03-29 19:28:36

标签: python replace arcpy

我正在尝试使用更新游标来替换字段中的缩写(例如:ST到STREET,AVE到AVENUE等),但似乎无法使其工作。我尝试了每一种排列,但显然遗漏了一些东西。代码运行但不对字段进行任何更改。有什么建议? 非常感谢

import arcpy
from arcpy import env
env.workspace = "C:/data"

fc = "blah.shp"

cursor = arcpy.da.UpdateCursor(fc, ["BLAH_BLAH"])

for row in cursor:
    row = row.replace("ST", "STREET")
    cursor.updateRow(row)

del row
del cursor

2 个答案:

答案 0 :(得分:1)

row是一个字段列表,您无法直接使用它访问字段值。请改用字段索引:row[0] = row[0].replace("ST", "STREET")

答案 1 :(得分:1)

表= r'C:\ DATA'

使用arcpy.da.UpdateCursor(表,“ ST_NAME”)作为光标:

    for row in cursor:
        if "ST" in row[0]:
           row[0] = row[0].replace("ST", "STREET")
        if "AVE" in row[0]:
            row[0]= row[0].replace("AVE", "AVENUE")
        if "RD" in row[0]:
            row[0]= row[0].replace("RD", "ROAD")
        if "DR" in row[0]:
            row[0]= row[0].replace("DR", "DRIVE")
        if "BLVD" in row[0]:
            row[0]= row[0].replace("BLVD", "BOULEVARD")
        if "PK" in row[0]:
            row[0]= row[0].replace("PK", "PARK")
        cursor.updateRow(row)