<p>这些是我喜欢使用<a href="https://pro.arcgis.com/en/pro-app/arcpy/data-access/updatecursor-class.htm" rel="nofollow noreferrer">^{<cd1>}</a>进行的那种复杂属性操作。您可以在一次迭代中操作多个字段的内容,然后一次写出每行的更新</p>
<pre class="lang-py prettyprint-override"><code>with arcpy.da.UpdateCursor("PLSSFirstDivision", ["FRSTDIVID","TRS","TWN","SEC","RNG","TWN_D","RNG_D"]) as cursor:
for row in cursor:
frstdivid = row[0]
# try string slicing for this instead of the `MID` function
# and you can strip leading zeroes in the same line
twn = frstdivid[5:7].lstrip('0')
rng = frstdivid[10:12].lstrip('0')
sec = frstdivid[17:19].lstrip('0')
# was not sure how twn_d and rng_d are calculated based on your provided code, but...
twn_d = foo
rng_d = bar
# use all these to calculate trs
trs = 'T{}{}R{}{}-{}SEC'.format(twn, twn_d, rng, rng_d, sec)
# assign the calculated values back to row positions
row[1] = trs
row[2] = twn
row[3] = sec
row[4] = rng
row[5] = twn_d
row[6] = rng_d
# write the new row with complete values from memory to your table
cursor.updateRow(row)
</code></pre>