擅长:python、mysql、java
<p>这里的主要问题是字符串
<code>for i in field:</code>
您正在尝试迭代一个字符串字段名(“rte_id”)。在</p>
<p>这是不对的。
您需要迭代字段“rte”id的所有可能值。在</p>
<p><strong>最简单的解决方案:</strong>
如果您知道“rte_id”字段的值为1-70(例如),那么您可以尝试</p>
<pre><code> for i in range(1, 71):
shp_name = "d:/Travaux/NantesMetropole/Traitements/SIG/stations_" + str(i) + ".shp"
expression = '{0} = {1}'.format(field, i)
gp.Select_Analysis (stations, shp_name , expression)
print "ok"
</code></pre>
<p><strong>更复杂的解决方案:</strong>
您需要获得一个关于SQL的字段“rte_id”的所有唯一值的列表,以执行groupby。在</p>
<p>我认为用一个工具对SHP文件执行分组操作实际上是不可能的。在</p>
<p>您可以使用SearchCursor,遍历所有特性并生成字段的唯一值列表。但这是一项更复杂的任务。在</p>
<p>另一种方法是在ArcMap中的shapefile表上使用summary选项(打开表,右键单击列标题)。您将得到具有唯一值的dbf表,您可以在脚本中读取这些值。在</p>
<p>我希望它能帮助你开始!在</p>
<p>现在没有ArcGIS,无法编写和检查任何脚本。在</p>