6 votos

¿Cero atributos de relleno mediante ArcPy/Python?

Yo soy sólo de learning python y necesito convertir un atributo numérico de 2 dígitos en una tabla a un atributo sin contenido de 2 dígitos en una secuencia de comandos.

Por ejemplo, 9 debe ser 09.

6voto

skamradt Puntos 13049

Ver el zfill() ayuda en python.org o este stackoverflow post. Como @ilustraciones menciona, debe convertir el valor a la cadena y hacer el cálculo. Usted puede utilizar zfill() en el interior del cursor, o utilizar una expresión en el Calcular el Campo de la herramienta.

2voto

Hameno Puntos 129

Esto debe hacer el truco (si el uso de ArcGIS 10.1, para ArcGIS 10, usted tendrá que usar este update cursor):

  1. En primer lugar añadir un campo de texto vacío, por ejemplo, textField para su clase de entidad o shapefile.

  2. Puede ejecutar el siguiente código en PythonWin, ArcMap o ArcCatalog ventana de Python. O para ponerlo en una .py archivo y llamarlo desde un usuario creado caja de herramientas herramienta de secuencia de comandos.

Actualizado:

    import arcpy

    fc = "C://temp//Default.gdb//myLayer" # update to your layer
    fields = ('numField', 'textField') # put your numeric and text field here
    with arcpy.da.UpdateCursor(fc, fields) as cursor:
        for row in cursor:
            if row[0] <= 9:
                row[1] = '0' + str(row[0])
                cursor.updateRow(row)

2voto

Tim C Puntos 25946

Si ya tienes un valor y necesitas hacer valor de 2 dígitos, echa un vistazo:

import sys

inputValue = sys.argv[1]
checkValue = int(inputValue)

if checkValue <= 9:
    inputValue = '0' + inputValue
print inputValue

entrada -> salida: 2 -> 02, 20 -> 20

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