#1 Mon 04 May 2020 16:27
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
problème unicode error calculate_field_management
Bonjour,
Code:
import glob, os, shutil, arcpy space = r'#' nom = os.path.basename(space) mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] code_block3= """# coding: utf8 def libel(lib,txt): num= txt.split('ER') if txt.find('ER')!=-1 and txt[-1].isdigit() is True: return u'Emplacement réservé' + num[-1] else: return lib""" arcpy.AddMessage("Calcul des champs DATVALID & IDURBA") for lay in df: fieldnames = [field.name for field in arcpy.ListFields(lay)] while 'LIBELLE' and 'TXT' in fieldnames: arcpy.CalculateField_management(lay, u'LIBELLE', 'libel(!LIBELLE!, !TXT!)',"PYTHON_9.3", code_block3) break
Ce script fonctionne parfaitement lorsque je l’exécute en dehors d'Arcgis il me retourne bien "Emplacement réservé" par contre quand je l'intègre dans la toolbox il me retourne "Emplacement réservé"
De même il s'exécute parfaitement dans l'outil "CalculateField_management"
j'aimerai avoir un peu d'aide.
merci d'avance
Hors ligne