你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
lanbo
赞同来自: 张佳期
# -*- coding: utf-8 -*- import arcpy, os, time, sys reload(sys) sys.setdefaultencoding('utf8') #设置目标文件和目标字段 fc = "c:/demo.gdb/demo" fields = ['a','b','c'] #建立游标 rows = arcpy.da.UpdateCursor(fc,fields) #建立各字段数组 l = x = p = ["001"] #将字段a、b值添加至相应数组 for row in rows: x.append(row[0]) l.append(row[1]) #重置游标位置,重要,否则第二次游标循环无法运行 rows.reset() #根据字段b(l数组)生成p数组(字段c) for n in range(1,len(l)): if l[n] == l[n-1]: p.append(l[n] + ("00"+str(int(p[n-1])+1))[-3:]) else: p.append(l[n] + "001") p[0] = l[0]+"001" #字段c赋值(p数组) i=0 for row in rows: row[2] = p [i] rows.updateRow(row) i = i + 1 del row del rows[/i]
张佳期
赞同来自:
AriaGIS
要回复问题请先登录或注册
3 个回复
lanbo
赞同来自: 张佳期
(先根据字段c排次序)
张佳期
赞同来自:
AriaGIS
赞同来自:
前提,属性表中已有的FID为(长整型、短整型、浮点型、双精度之一,即存储数字),Category为string类型。给字段赋值时均使用字段计算器
1、新建三个字段,如Category00,FIDString,End,均为string类型
2、【Category00】:用vb脚本 Category00=FID+Category
3、【FIDString】:用Python FIDString='%d'% !FID! 将数字转换为字符串
4、【End】:用vb脚本 End=Category00+FIDString
要回复问题请先登录或注册
发起人
相关问题
问题状态