Arcpy中SearchCursor的SQL排序子句未生效问题求助
Arcpy中SearchCursor的SQL排序子句未生效问题求助
嘿,这个问题我之前踩过一模一样的坑!问题出在你给sql_clause传的参数格式上。
Arcpy的da.SearchCursor里的sql_clause要求是一个二元元组:第一个元素是前导SQL子句(比如要加DISTINCT的时候用),第二个才是ORDER BY这类尾随子句。你现在把第一个元素设成了None,这可不行——如果没有前导子句,得用空字符串''来占位,而不是None!
你看你当前的代码:
sql=(None,"ORDER BY NAME")
把它改成下面这样,排序就会正常生效了:
sql=('', "ORDER BY NAME")
另外顺便提个小细节,你的where_selection引号嵌套有点小混乱,虽然没影响筛选功能,但可以调整得更清爽:
# 规范的写法二选一就行 where_selection = '"COUNTY" = \'Socorro County\'' # 或者用单引号包裹字段名,更简洁 where_selection = "'COUNTY' = 'Socorro County'"
改完之后再运行,你的结果就会严格按照NAME字段的字母顺序排列啦,快去试试吧!
备注:内容来源于stack exchange,提问作者NBC
相关产品推荐
相关产品推荐

