我有一个“Roads”要素类,它有Paved(0)和Unpaved(1)道路。 我想使用Python选择所有Paved道路,所以我在arcmap的Python窗口中使用了这段代码:
qry = '"Subtype" = ' + "'0'"
arcpy.SelectLayerByAttribute_management ("Roads", "NEW_SELECTION", qry )
该命令正在运行,但未在地图上选择任何内容。 我尝试通过将Roads图层作为最顶层来重新排列内容列表中图层的层次结构,但同样没有选择任何内容。
编辑:我尝试使用“选择”选项卡中的“按属性选择”命令,并手动输入查询,成功选择所有已铺设的道路。
答案 0 :(得分:0)
您的字段是文本字段还是数字字段?对于数字字段,您不需要在0周围使用单引号。
此外,无需使用2个单独的字符串来构建此查询。
最后,混合使用单引号和双引号来包装查询并不是一个好主意。使用三重双引号代替所有内容:
qry = """"Subtype" = '0'"""
或
qry = """"Subtype" = 0"""
如果查询中有可变部分(例如字段名称或字段值),您还可以使用Python string.format()函数:
field_name = "Subtype"
field_value = 0
qry = """"{}" = '{}'""".format(field_name, field_value)