2 votos

¿Cómo calcular el campo utilizando parte del nombre de archivo en ModelBuilder?

Soy nuevo en ModelBuilder y no he conseguido averiguar cómo utilizar parte del nombre del FC: Por ejemplo, el primer FC de mi GDB, que contiene unos 100 archivos, es "A1005_GPS_Residence", y necesito calcular el nuevo campo SID = "A1005".

He visto algunos posts con python y usando manualmente la Calculadora de Campos.

He intentado utilizar una expresión, que se muestra en la captura de pantalla, pero no estoy seguro de si puedo combinar los cálculos de campo con la sustitución en línea o como !%Nombre%![1:4].

Captura de pantalla de MB

3voto

Aaron Puntos 25882

He adjuntado un script python que debería guiarte en la dirección correcta. Usted encontrará que los nombres personalizados en los bucles es mucho más fácil en python que model builder.

EDIT: Añadido código adicional para abordar la nueva información

# Import standard library modules
import arcpy, os, sys
from arcpy import env

# Allow for file overwrite
arcpy.env.overwriteOutput = True

# Set the workspace directory 
env.workspace = r"C:\temp.gdb" 

# Get the list of the featureclasses to process
fc_tables = arcpy.ListFeatureClasses()

# Loop through each file and perform the processing
for fc in fc_tables:
    print str("processing " + fc)

    # Define field name and expression
    field = "SID"
    expression = str(fc[:5]) #subsets first 5 characters of fc name

    # Create a new field with a new name
    arcpy.AddField_management(fc,field,"TEXT")

    # Calculate field here
    arcpy.CalculateField_management(fc, field, "expression", "PYTHON") 

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X