ArcPy图斑编号-根据字段长度自动补齐
# -*- coding:utf8 -*-
import arcpy
import os
workspace = r'E:\yyy.gdb'
arcpy.env.workspace = workspace
featureclasses = arcpy.ListFeatureClasses()
# 起始编号
i = 1
for fc in featureclasses:
cur = arcpy.da.UpdateCursor(fc, ['ZLDWDM','OBJECTID' 'TBBH'])
for row in cur:
try:
# 截取坐落地物代码前12位
zldwdm12 = str(row[0])[0:12]
ss = str(i).rjust(6, '0')
row[2] = zldwdm12 + ss
cur.updateRow(row)
print(str(row[1]) + '---Finish')
i = i + 1
except:
print(str(row[1]) + '---Error')
print(fc)
python 字符串补全填充固定长度的方法
1.rjust() :返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
语法:
str.rjust(width[, fillchar])
width – 指定填充指定字符后中字符串的总长度
fillchar – 填充的字符,默认为空格
str.rjust(width,'0')
input: '798'.rjust(32,'0')
output: '00000000000000000000000000000798'
1.ljust() :返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
语法:
str.ljust(width[, fillchar])
width – 指定填充指定字符后中字符串的总长度
fillchar – 填充的字符,默认为空格
str.ljust(width,'0')
input: '789'.ljust(32,'0')
output: '78900000000000000000000000000000'