4 votos

Buscar y Reemplazar la expresión necesaria en el Campo de la Calculadora de ArcGIS 10

Buscando la Calculadora de Campo de código (Python preferido) para reemplazar la última cifra de los valores de un campo a otro campo de valores para toda la tabla de atributos. Por favor vea la captura de pantalla aquí: replace values

6voto

Jim Puntos 4057

Se podría crear una función de Python para el campo de la calculadora usando la lógica de abajo (usando el primer registro como un ejemplo:

>>> a = "EW 140 Rd MF 71"  # your primary field
>>> b = str(71.6)          # your secondary field
>>> a.replace(a.split(" ")[-1], b)  #replace the last entry in the list
'EW 140 Rd MF 71.6'

O como un def, este podría obtener la mayor (en este ejemplo se supone que son la sustitución de la última entrada en la cadena.

def replace_item(primary, secondary):
  '''replace a substring in the primary field with that found in the secondary field:
     string field assumed for primary'''
  a = primary.replace(primary.split(" ")[-1], str(secondary))
  return a

if __name__ == "__main__":
  primary = "EW 140 Rd MF 71"
  secondary = 71.6
  print replace_item(primary, secondary)

y se puede ejecutar en modo independiente para las pruebas, como se muestra

EDITAR Para una aclaración, cuando uno está haciendo los cálculos en la calculadora de campo usando Python bloques de código, el código anterior, hasta e incluyendo el "retorno" de la línea es todo lo que se necesita. El resto es para ejecutar el código como un standlone programa en algo como Pythonwin. De modo que el código va en el bloque de código cuando se activa en el "show bloque de código" casilla de verificación. Para utilizar la función anterior, hacer que el campo de destino activo y especificar la función con los campos de entrada en el cuadro de expresión. Por ejemplo:

replace_item(!PRIMARYFLD!, !SECONDARYF!)

sería utilizado suponiendo que los dos, obviamente, nombre de los campos mencionados anteriormente (es decir. PRIMARYFLD y SECONDARYFLD) si existe en la tabla. Los archivos de ayuda de ArcGIS también indican que los nombres de campo deben estar entre signos de exclamación, !. Más información se puede encontrar en la ayuda en línea para aquellos que desean utilizar Python bloques de código con la calculadora de campo.

enter image description here

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