24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2417  |  回复: 13

zzahkj

木虫 (著名写手)

[求助] ArcGIS字段计算器Python脚本出错,帮我检查下,谢谢!已有1人参与

我想删除FileName名称相同(路径不同,仅仅名称相同,如下图)的要素
ArcGIS字段计算器Python脚本出错,帮我检查下,谢谢!
在字段计算器中写入下面的代码
CODE:
listD=list()
def isRepeat(filename):
strFilename = str(filename[filename.rindex("\")+1:])
d = 0
if len(listD) == 0:
listD.append(strFilename)  
else:  
for n in listD:
if n ==  strFilename:  
d = 1
if d == 0:
listD.append(strFilename)
return d

ArcGIS字段计算器Python脚本出错,帮我检查下,谢谢!-1
回复此楼
不要迷恋哥,哥只是一个过客!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

zzahkj

木虫 (著名写手)

zzahkj: 回帖置顶 2014-03-23 21:06:13
搞定了 空格之殇 完整答案见下面的楼层
不要迷恋哥,哥只是一个过客!
12楼2014-03-23 21:06:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

xiangling1

金虫 (正式写手)

你的需求是:路径可以不同,但是名称重复的删除吗?
我看你的代码,没有删除功能啊
黄沙百战穿金甲,不破楼兰终不还!
2楼2014-03-23 18:40:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
2楼: Originally posted by xiangling1 at 2014-03-23 18:40:19
你的需求是:路径可以不同,但是名称重复的删除吗?
我看你的代码,没有删除功能啊

想首先建立个D字段,重复的设置为1,可我不会Python不知道
CODE:
listD=list()
def isRepeat(filename):
strFilename = str(filename[filename.rindex("\")+1:])
d = 0
if len(listD) == 0:
  listD.append(strFilename)  
else:  
  for n in listD:
   if n ==  strFilename:  
    d = 1
   if d == 0:
    listD.append(strFilename)
return d

不要迷恋哥,哥只是一个过客!
3楼2014-03-23 18:51:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
2楼: Originally posted by xiangling1 at 2014-03-23 18:40:19
你的需求是:路径可以不同,但是名称重复的删除吗?
我看你的代码,没有删除功能啊

str(filename[filename.rindex("\"+1:])
如何让它不转义?
不要迷恋哥,哥只是一个过客!
4楼2014-03-23 19:11:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
2楼: Originally posted by xiangling1 at 2014-03-23 18:40:19
你的需求是:路径可以不同,但是名称重复的删除吗?
我看你的代码,没有删除功能啊

CODE:
str(filename[filename.rindex("\")+1:])

如何让它不转义
不要迷恋哥,哥只是一个过客!
5楼2014-03-23 19:12:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
2楼: Originally posted by xiangling1 at 2014-03-23 18:40:19
你的需求是:路径可以不同,但是名称重复的删除吗?
我看你的代码,没有删除功能啊

改成\\
现在不知道D怎么写了
isRepeat( !FileName.str()! ):
这个不对吧
不要迷恋哥,哥只是一个过客!
6楼2014-03-23 19:19:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiangling1

金虫 (正式写手)

引用回帖:
4楼: Originally posted by zzahkj at 2014-03-23 19:11:16
str(filename)
如何让它不转义?...

rindex("\\"
黄沙百战穿金甲,不破楼兰终不还!
7楼2014-03-23 19:32:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
7楼: Originally posted by xiangling1 at 2014-03-23 19:32:49
rindex("\\"...

D怎么写了
D=??
不要迷恋哥,哥只是一个过客!
8楼2014-03-23 19:38:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
7楼: Originally posted by xiangling1 at 2014-03-23 19:32:49
rindex("\\"...

脚本块代码:
CODE:
listD=list()
def isRepeat( strFilename):
d = 0
if len(listD) == 0:
  listD.append(strFilename)  
else:  
  for n in listD:
   if n ==  strFilename:  
    d = 1
   if d == 0:
    listD.append(strFilename)
return d

字段赋值代码:
isRepeat(!FileName![!FileName!.rindex("\\"+1:])
运行中间出错?
不要迷恋哥,哥只是一个过客!
9楼2014-03-23 20:11:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
9楼: Originally posted by zzahkj at 2014-03-23 20:11:06
脚本块代码:
listD=list()
def isRepeat( strFilename):
d = 0
if len(listD) == 0:
  listD.append(strFilename)  
else:  
  for n in listD:
   if n ==  strFilename:  
    d = 1
   if d ...

CODE:
isRepeat(!FileName![!FileName!.rindex("\\")+1:])

不要迷恋哥,哥只是一个过客!
10楼2014-03-23 20:11:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zzahkj 的主题更新
信息提示
请填处理意见