我有一个具有已铺装(0)和未铺装(1)道路的" roads“要素类。我想使用Python选择所有铺设的道路,所以我在arcmap的Python窗口中使用了以下代码:
qry = '"Subtype" = ' + "'0'"
arcpy.SelectLayerByAttribute_management ("Roads", "NEW_SELECTION", qry )该命令正在工作,但在地图上未选择任何内容。我尝试通过将Roads图层放在最上面的图层来重新排列内容列表中图层的层次结构,但同样没有选择任何内容。
编辑:我尝试使用"Selection“选项卡中的Select by Attributes命令,并手动输入查询,它成功地选择了所有铺设的道路。


发布于 2018-01-02 18:10:40
您的字段是文本字段还是数值字段?对于数值字段,不需要用单引号将0括起来。
此外,不需要使用2个单独的字符串来构建此查询。
最后,混合使用单引号和双引号将查询括起来不是一个好主意。使用三重双引号将所有内容括起来:
qry = """"Subtype" = '0'"""或
qry = """"Subtype" = 0"""如果您的查询中有可变部分(例如字段名称或字段值),您还可以使用Python string.format()函数:
field_name = "Subtype"
field_value = 0
qry = """"{}" = '{}'""".format(field_name, field_value)https://stackoverflow.com/questions/48050098
复制相似问题