Tengo tres campos de texto poblados como sigue: 1, 9, 1 que tengo que concatenar en un campo que parece 01.09.01. 1.9.1 es fácil pero puede alguien ayudar con cómo formular para que cada valor tiene dos lugares (es decir, añadir en los ceros). Yo solía hacer esto en Excel pero no puede averiguar cómo trabajar en ArcMap 10.
Respuestas
¿Demasiados anuncios?Utilice el comando zfill() en Python. Establece su analizador de campo calculadora en Python y hacer esto:
Aquí es una simple función de Python que haga justifica que el especificado el ancho de cada elemento en una secuencia de elementos con rjust
y, a continuación, se une a ellos usando join
. Una comprensión de lista que se utiliza para mantenerlo corto y simple. Los argumentos opcionales defecto a sus especificaciones.
def padjoin(sequence, width=2, sep='.', fillchar='0'):
return sep.join([str(item).rjust(width, fillchar) for item in sequence])
Ejemplo de uso:
>>> padjoin([1, 9, 1])
'01.09.01'
>>> padjoin([1, 23, 45])
'01.23.45'
La calculadora de campo de la expresión (asegúrese de cambiar a la de Python parser):
padjoin([str(!field1!), str(!field2!), str(!field3!)])
El str() la función de conversión es necesaria para cada campo de referencia en caso de que existan valores null como valor predeterminado del campo de comportamiento de la calculadora cuando se ha encontrado null es para detener la ejecución y pasar a la siguiente fila.