我有一个包含 600k+ 字符串标签记录的文件,我正在尝试使用更新光标进行编辑,同时使用字符串模块和 fnmatch 来查找要编辑的模式。使用 fnmatch 的部分成功打印了匹配的记录,但没有更改/解析出匹配的模式。
没有错误,记录也没有变化。我的语法缺少什么?
(另外 - 附带问题,最后一个打印第 4 行语句仅打印文件的第一条记录。)
结果样本与原文没有变化 1000STR92SE 8000STR37NW 7000STR35SW 8000STR44 1000STR88SE 1000STR74SE
但结果需要是 92SE 37NW 35SW 44 88SE 74SE
def newlabel():
#Global Conversions - works on editing the string
with arcpy.da.UpdateCursor(mvum_fc, newfields) as uc:
for row in uc:
if row[1] == None or row[1].startswith('0'):
row[4] = '{}'.format(row[4].lstrip(ascii_letters).replace('_', "-").lstrip('0').replace(' ', '-'))
if row[1] == None or row[1].startswith('-'):
row[4] = '{}'.format(row[4].lstrip('-').lstrip('0'))
#Regional Conversions - lstrip and replace tried - not changing text.
elif row[1].startswith('0118'):
pattern = ('?000STR*')
match = fnmatch.fnmatch(row[4], pattern)
if match == True:
row[4] = '{}'.format(row[4].lstrip('?000STR'))
print(row[4])
uc.updateRow(row)
print(row[4])