Español

Cómo: convertir un campo de cadena de caracteres en un campo numérico

Resumen

En muchas situaciones, es necesario convertir un campo de valores de cadena de caracteres de una tabla de atributos en valores numéricos, normalmente porque el tipo de datos original no se ha definido o no se reconoce, con el fin de que se puedan realizar análisis de datos correctos. Para preservar la integridad de los datos (especialmente al compartir o importar datos de orígenes externos), el método para convertir los campos en tipos diferentes consiste en copiar los datos a un nuevo campo del tipo deseado.

A continuación se describen tres soluciones: una relativa a las versiones de ArcGIS for Desktop 10.1 a 10.4.1; la segunda para ArcGIS Pro 1.x y la tercera para versiones más antiguas del software (como ArcView GIS 3.x.).

Procedimiento

ArcGIS Desktop 10.1 hasta 10.4.1

  1. Abra ArcMap y abra la capa o la tabla de atributos de la geodatabase de archivos.
  2. En ArcMap, el tipo de datos del campo se puede comprobar haciendo clic con el botón derecho en el encabezado del campo y seleccionando Propiedades. En este ejemplo, un campo de tipo de cadena de caracteres se convierte en doble.
    A picture of the Field Properties window.
  3. En la esquina superior izquierda de la ventana de la tabla, haga clic en el botón desplegable Opciones de tabla User-added image y seleccione Agregar campo.
    1. Cree un campo del tipo Doble .
    2. Proporcione un nombre.
    3. Si lo desea, defina la precisión y la escala.
    4. Haga clic en Aceptar.
  4. Haga clic con el botón derecho en el encabezado del campo que acaba de crear y seleccione Calculadora de campo.
  5. Si el campo de cadena de caracteres contiene únicamente valores numéricos, lo siguiente proporciona el resultado deseado:
    1. Introduzca [Nombre del campo de cadena de caracteres] en la ventana de la expresión.
    2. Haga clic en Aceptar.
  6. Sin embargo, si el campo de cadena de caracteres contiene valores alfanuméricos y numéricos mezclados, se necesitará una estrategia más detallada:
    1. Con Analizador definido como VB Script y con la opción Mostrar bloque de código activada, copie el código siguiente y péguelo en la ventana de texto Código de secuencia de comandos Pre-Logic y reemplace "Nombre del campo de cadena de caracteres" por el nombre del campo que desea convertir. Deje los corchetes de apertura y cierre:
    2. Dim String, Check
      String = [Nombre del campo de cadena de caracteres]
      Check = IsNumeric(String)
      If Check = True then
      Output = CDbl(String)
      más
      Output = null
      End if
      En la ventana de expresión (en este ejemplo, "DoubleV ="), escriba:
      Salida
      
    3. La ventana de la Calculadora de campo tiene el aspecto siguiente:
      A picture of the code entered into the Field Calculator window.
    4. Haga clic en Aceptar.
  7. Una vez que se completa la secuencia de comandos, el campo doble se llena con los valores del campo de cadena de caracteres.
Nota:
Si un campo de cadena de caracteres contiene valores con símbolos o caracteres no numéricos, el valor de esa celda sigue definido en el valor predeterminado cero cuando se convierte al campo doble.

ArcGIS Pro 1.x

  1. Abra un proyecto ArcGIS Pro. Agregue los datos/ tabla pertinentes al proyecto.
  2. Haga clic con el botón derecho en los datos/tabla y seleccione Tabla de atributos.
  3. Haga clic en el botón Nuevo User-added image para crear un nuevo campo. En la vista de lista Campos, asigne al campo un nombre, defina Tipo de datos como Doble y asegúrese de que Formato de número se ha definido como Numérico (y ajuste la configuración como desee). Si es necesario, defina el dominio, el valor predeterminado y los valores de longitud.
  4. Usando la cinta superior, guarde los cambios realizados en la tabla y cierre la pestaña Campos.
  5. Haga clic con el botón derecho en el encabezado del campo doble que se acaba de crear y seleccione Calcular campo. Se abre el cuadro de diálogo de geoprocesamiento Calcular campo.
  6. Si hay valores (vacíos) en el campo de cadena de caracteres, seleccione un subconjunto sin ellos antes de realizar el cálculo y escriba lo siguiente en el cuadro de texto Expresión:
    !!
    Verifique la expresión y ejecute la herramienta.
Nota:
La herramienta puede generar un error de ejecución si hay valores Null (vacíos) en el campo de cadena de caracteres. Lea el documento de ayuda web de ArcGIS Pro, Crear un nuevo campo y aplicar un dominio y un valor predeterminado para obtener más información.

ArcView GIS 3.x

Para convertir un campo de cadena de caracteres en un campo numérico, cree un nuevo campo de número y copie los valores del campo original en el nuevo campo.
  1. Agregue un campo de número a la tabla.
    1. Abra la tabla y seleccione Iniciar la edición en el menú Tabla.
    2. Seleccione Agregar campo en el menú Editar.
    3. En el cuadro de diálogo Definición de campo:
      1. Asigne a Nombre un nombre adecuado, por ejemplo Área.
      2. Defina Tipo como Número.
      3. Defina Ancho en un número adecuado, por ejemplo 32.
      4. Defina Posiciones decimales en el número deseado, por ejemplo 6.
      5. Haga clic en Aceptar.
    4. Seleccione Detener edición en el menú Tabla y guarde los cambios.
  2. Use la Calculadora de campo para copiar los valores en el nuevo campo y convertirlos en un número.
    1. Abra la tabla y empiece a editar si es necesario.
    2. Seleccione el campo Número.
    3. Seleccione el menú Calcular desde el campo.
    4. Haga doble clic en el campo de cadena de caracteres en la lista Campos.
    5. Defina Tipo como Cadena de caracteres.
    6. Baje por la lista Solicitudes y haga doble clic en AsNumber.
La expresión final debería tener un aspecto similar a este:
	[Strng_fld].AsNumber
  1. Haga clic en Aceptar.
  2. Seleccione Detener edición en el menú Tabla y guarde los cambios.

Información relacionada