我正试图在访问表的字段中的项目中进行光标搜索。然后我将它们附加到一个名为“distList”的列表中。我要将列表传递到公式中的SQL查询生成器“WHERE”子句中:
"Field1" in distList
或者在长手上,它看起来像这样:
"Field1" in ('ds(c1)', 'ds(b1)', 'ds(c2)', 'ds(g1)')
列表如下:
['ds(c1)'、'ds(b1)'、'ds(c2)'、'ds(g1)']
我遇到的问题是,上面的SQL公式不喜欢在python列表中查找。它不能识别方括号。它更喜欢圆括号,所以我考虑使用元组。我面临的问题是,在游标从访问表中搜索项之后,我不知道如何构建元组。下面是我的代码示例:
distList = []
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
if lyr.name == "Disturbance":
for row in arcpy.SearchCursor(lyr):
if "ds" in row.Field1:
distList.append(row.Field1)
lyr.definitionQuery = '"Field1"' + "in " + distList
有谁能建议一种方法把我的列表变成一个元组,或者也许是一种更好的方法,把我的项目变成一个有圆括号而不是方括号的格式?
作为解决方法,我尝试将列表转换为字符串str(distList)
,然后替换括号。那很好,但看起来很麻烦,我相信有更好的办法。
谢谢, 迈克
目前没有回答
相关问题 更多 >
编程相关推荐