Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
Pages: 1
- Sujet précédent - erreur python Mise à jour de champ par rapport à d'autres champs - Sujet suivant
#1 Wed 20 July 2016 13:04
- LEVEQUE.Nicolas
- Juste Inscrit !
- Lieu: COMPIEGNE
- Date d'inscription: 19 Jul 2006
- Messages: 7
erreur python Mise à jour de champ par rapport à d'autres champs
Bonjour,
Je cherche à mettre à jour un champ Q en fonction de deux autres champs Q1 et Q2. Si Q1 est vide alors Q = Q2 sinon Q=Q1
j'ai une erreur de syntaxe mais je ne trouve pas le problème.
pouvez vous m'aider ?merci
Code:
import arcpy arcpy.env.workspace = 'W:\DVO\SIGISTE\_Data_Project\Temp\2016_Outils_Ellipses\Outil_Ellipse.gdb' fc = 'W:\DVO\SIGISTE\_Data_Project\Temp\2016_Outils_Ellipses\Outil_Ellipse.gdb\Captage' fields = ['Q', 'Q1', 'Q2'] with arcpy.da.UpdateCursor(fc, fields) as cursor: for row in cursor: If row[1]== "none": row[0]=row[2] Else: row[0]=row[1] cursor.updateRow(row)
Hors ligne
#2 Wed 20 July 2016 17:58
- lebon henri
- Participant actif
- Lieu: Lyon
- Date d'inscription: 14 Jan 2008
- Messages: 98
Re: erreur python Mise à jour de champ par rapport à d'autres champs
Bonjour,
Voici un début de correction avec quelques explications
Code:
import arcpy arcpy.env.workspace = r'W:\DVO\SIGISTE\_Data_Project\Temp\2016_Outils_Ellipses\Outil_Ellipse.gdb' ##mettre un "r" devant les chemin fc = r'W:\DVO\SIGISTE\_Data_Project\Temp\2016_Outils_Ellipses\Outil_Ellipse.gdb\Captage' fields = ['Q', 'Q1', 'Q2'] with arcpy.da.UpdateCursor(fc, fields) as cursor: for row in cursor: ##attention if ou else s'écrivent tout en minuscule, python est très sensible à ça if row[1] is None: ##reste à voir ce que renvoie arcgis exactement quand le champs est vide, à vérifier, je suis pas sur que ça marche row[0]=row[2] else: row[0]=row[1] cursor.updateRow(row)
Hors ligne
#3 Thu 21 July 2016 11:01
- LEVEQUE.Nicolas
- Juste Inscrit !
- Lieu: COMPIEGNE
- Date d'inscription: 19 Jul 2006
- Messages: 7
Re: erreur python Mise à jour de champ par rapport à d'autres champs
Merci beaucoup cela fonctionne.
c'est très appréciable d'avoir une telle aide, encore merci.
j'avais vu d'autres messages sans réponses sur le forum dont l'objectif était un peu similaire, j'espère qu'ils pourront s'en inspirer de ce code.
Hors ligne
Pages: 1
- Sujet précédent - erreur python Mise à jour de champ par rapport à d'autres champs - Sujet suivant