Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 04 May 2020 16:27

Ricola62
Participant assidu
Date d'inscription: 24 Apr 2012
Messages: 166

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

 

Pied de page des forums

Powered by FluxBB