5 votos

¿Cómo concatenar números y agregar en ceros?

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.

5voto

Utilice el comando zfill() en Python. Establece su analizador de campo calculadora en Python y hacer esto:

3voto

Niall C. Puntos 1234

"0" & [Campo1] & ". 0" & [Campo2] & ". 0" & [field3]
Este comentario me hace pensar en regex, (si usted debe tener un campo duro con todos estos valores) no soy muy bueno con regex pero sé que puede solucionar este problema. no estoy seguro lo que es el caso de uso.

0voto

auramo Puntos 161

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.

0voto

Bratch Puntos 378

Generalmente, hacer algo como lo siguiente en Python, para rellenar con líder ' 0 a lo que es necesario:

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