#1 Mon 15 January 2018 16:30
- RS21
- Juste Inscrit !
- Lieu: Dijon
- Date d'inscription: 19 Jul 2016
- Messages: 7
Variable dans une sélection attributaire par Python
Bonjour à tous.
J'aimerais faire une sélection attributaire sur Python mais en insérant une variable dans l'expression.
De ce type :
Code:
import arcpy n=1 arcpy.SelectLayerByAttribute_management ("ma_couche", "NEW_SELECTION", '"mon_champ" = n'
C'est au niveau de l'expression que je bloque, je ne connais pas la syntaxe à utiliser lorsqu'on a une variable.
Quelqu'un pour m'aider?
Hors ligne
#2 Mon 15 January 2018 19:58
Re: Variable dans une sélection attributaire par Python
Bonjour,
Cf. la doc du language : https://docs.python.org/2/library/stdty … str.format et https://docs.python.org/2/library/strin … matstrings
Il faudrait écrire :
Code:
'"mon_champ" = {}'.format(n)
Code:
import arcpy n=1 arcpy.SelectLayerByAttribute_management ("ma_couche", "NEW_SELECTION", '"mon_champ" = {}'.format(n)
A+
Franck
PS : pour aller plus loin, un excellent article Le formatage des strings en long et en large.
Hors ligne
#3 Tue 16 January 2018 07:46
- RS21
- Juste Inscrit !
- Lieu: Dijon
- Date d'inscription: 19 Jul 2016
- Messages: 7
Re: Variable dans une sélection attributaire par Python
Merci beaucoup Franck B pour cette réponse. J'ai juste dû rajouter un zéro entre les {} pour que ça fonctionne.
Voici le code final :
Code:
import arcpy n=1 arcpy.SelectLayerByAttribute_management ( "ma_couche", "NEW_SELECTION", '"mon_champ" = {0}'.format(n) )
Hors ligne