Pages: 1
- Sujet précédent - Calcul des valeurs de champs à l'aide de logique avec Python - Sujet suivant
#1 Fri 18 April 2014 10:28
- Mak6
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 1 Apr 2013
- Messages: 37
Calcul des valeurs de champs à l'aide de logique avec Python
Bonjour,
Je viens vers vous car j'ai un petit soucis de requête python.
Je voudrais mettre à jour une colonne dans ma table. En gros en exemple pour commencer : "si la valeur du champ est égale à 0 retourner la valeur 1 et si la valeur du champ est égale à 3 retourner la valeur 2"
def Reclass( !LIBELONG! ):
if (!LIBELONG! = 0):
return 1
elif (!LIBELONG! =3):
return 2
Hors ligne
#2 Fri 18 April 2014 11:10
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Calcul des valeurs de champs à l'aide de logique avec Python
Bonjour,
L'opérateur de comparaison en python n'est pas "=" mais "==".
il vous faut donc doubler les "=" dans vos conditions.
De plus à l'intérieur de votre fonction def Reclass, il ne faut pas passer entre paramètre le nom de votre champ mais un nom de variable choisit par vos soins (toto par exemple) et l'utiliser ensuite dans votre fonction if toto==0 : ...
Tout ceci est très bien expliqué dans l'aide de la calculatrice arcgis.
A+
Nicolas GRANIER
Hors ligne
#3 Fri 18 April 2014 11:30
Re: Calcul des valeurs de champs à l'aide de logique avec Python
Bonjour,
De plus vous avez des erreurs en syntaxe, à tester :
Code:
def Reclass(LIBELONG): if LIBELONG == 0: return 1 elif LIBELONG ==3: return 2 LIBELONG= Reclass(!LIBELONG!)
Martin
Hors ligne
#4 Fri 18 April 2014 12:17
- Mak6
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 1 Apr 2013
- Messages: 37
Re: Calcul des valeurs de champs à l'aide de logique avec Python
Merci bcp de votre réponse je sens que j'avance mais il y a toujours un blocage...
J'ai un autre exemple.
Code:
def Reclass (code_insee) : if code_insee == 80011: return 1 elif code_insee == 80024: return 2 code_insee = Reclass(!code_insee!)
comprend pas j'ai essayé plusieurs fois mais nan rien..
Hors ligne
#5 Fri 18 April 2014 12:20
Re: Calcul des valeurs de champs à l'aide de logique avec Python
La ligne :
Code:
Reclass(!code_insee!)
est à mettre dans la case du bas dans la calculette de champs avancée.
Votre champs !code_insee! est-il bien numérique?
Dernière modification par nitram (Fri 18 April 2014 12:21)
Hors ligne
#6 Wed 23 April 2014 10:46
- Mak6
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 1 Apr 2013
- Messages: 37
Re: Calcul des valeurs de champs à l'aide de logique avec Python
Ca ne fonctionne toujours pas mais c'est pas grave je vais procéder en sélection par groupe. Merci beaucoup pour vos réponses
Hors ligne
Pages: 1
- Sujet précédent - Calcul des valeurs de champs à l'aide de logique avec Python - Sujet suivant