Основная проблема здесь заключается в строке for i in field:
Вы пытаетесь перебрать строку - имя поля ("rte_id").
Это не правильно.Вам нужно перебрать все возможные значения поля "rte_id".
Самое простое решение: если вы знаете, что поле "rte_id" имеет значения 1 - 70 (например), тогда вы можете попробовать
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"
Более сложное решение: Вам необходимо получить список всех уникальных значений поля "rte_id" в терминах SQL - для выполнения GROUP BY.
Iдумаю, что на самом деле невозможно выполнить операцию GROUP BY для файлов SHP с помощью одного инструмента.
Вы можете использовать SearchCursor, выполнять итерацию по всем функциям и генерировать список уникальных значений вашего поля.Но это более сложная задача.
Другой способ - использовать опцию Суммировать в таблице шейп-файлов в ArcMap (открыть таблицу, щелкнуть правой кнопкой мыши заголовок столбца).Вы получите таблицу dbf с уникальными значениями, которые вы можете прочитать в своем скрипте.
Надеюсь, это поможет вам начать!
У вас сейчас нет ArcGIS, и вы не можете писать ипроверьте любой сценарий.