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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Tue 01 December 2015 10:24

loloseven
Participant assidu
Lieu: Grenoble
Date d'inscription: 5 Jan 2011
Messages: 167
Site web

ArcPy : ajouter plusieurs champs à une table

Bonjour,
J'essaie d'ajouter plusieurs champs à une couche avec ArcPy mais j'ai un peu de difficulté...
Voici le script que j'essaie d'utiliser...


>>> import arcpy
>>> from functools import partial
>>> arcpy.env.workspace = "CURRENT"
>>> shapefile = "REQUETE_URBA_2015.shp"
>>> fields = ["CHRDC", "ORCONT", "ZBRUIT", "AC2", "ICOMM", "PBOIS"]
>>> addfield = partial(
...     arcpy.AddField_management,
...     shapefile,
...     field_type="TEXT")
...     for field in fields:
...         arcpy.AddField_management(shapefile, field)

Et le résultat

Parsing error IndentationError: unexpected indent (line 10)

A priori ça bloquerait à la ligne 10 du code mais j'ai du mal à voir d'où vient le souci...
Si quelqu'un pouvait éclairer ma lanterne ce serait très gentil smile

Merci beaucoup d'avance !

Hors ligne

 

#2 Tue 01 December 2015 13:10

lebon henri
Participant actif
Lieu: Vendée
Date d'inscription: 14 Jan 2008
Messages: 99

Re: ArcPy : ajouter plusieurs champs à une table

Bonjour,

Vous avez une simple erreur d'indentation. Très classique. Voici un article sur l'indentation en python, ça vous aidera à l'avenir. http://python.developpez.com/cours/Dive … g_code.php

Mais quoi qu'il arrive, essayez plutôt un truc comme ça:

Code:

import arcpy


fc = r"C:\Users\hlebon\Documents\ArcGIS\Default.gdb\toto22"

fieldNames = ["CHRDC", "ORCONT", "ZBRUIT", "AC2", "ICOMM", "PBOIS"]

for fieldName in fieldNames:

    fieldLength = 50

    arcpy.AddField_management(fc, fieldName, "TEXT", "", "", fieldLength)

Hors ligne

 

#3 Tue 01 December 2015 17:25

loloseven
Participant assidu
Lieu: Grenoble
Date d'inscription: 5 Jan 2011
Messages: 167
Site web

Re: ArcPy : ajouter plusieurs champs à une table

Bonjour,
Merci pour votre aide !
Votre script marche très bien.
De mon côté le script corrigé donne quelque chose comme ça :

Code:

import arcpy
from functools import partial
arcpy.env.workspace="CURRENT"
fc = r"C:\Users\lbe\Desktop\temp\REQUETE_URBA_2015.shp"
fieldNames = ["CHRDC", "ORCONT", "ZBRUIT", "AC2", "ICOMM", "PBOIS"]
for fieldName in fieldNames:
   arcpy.AddField_management(fc,fieldName)

Je pense que le précédent script ne marchait pas car j'avais écrit  "for field in fields:"   et non "for fieldName in fields:"

Merci smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB