Español

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

Resumen

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

A continuación se describen tres soluciones: la primera relativa a ArcGIS Pro 1.x y 2.x; la segunda para ArcGIS Desktop 10.x, y la tercera para versiones más antiguas del software (como ArcView GIS 3.x.).

Procedimiento

Para ArcGIS Pro 1.x y 2.x

  1. Abra un proyecto de ArcGIS Pro y agregue los datos o tabla que corresponda al proyecto.
  2. Haga clic con el botón derecho en los datos o la tabla en el panel Contenido y seleccione Tabla de atributos.
  3. Haga clic en el botón Agregar para crear un campo nuevo.
  4. En la vista de la lista Campos, defina estas propiedades:
    1. Defina un nombre para el nuevo campo.
    2. Defina el Tipo de datos a un tipo numérico. Los tipos de campo Largo o Doble son los más habituales.
    3. Defina el Formato de número como Numérico y ajuste la configuración como desee.
    4. Si es necesario, defina el dominio, el valor predeterminado y los valores de longitud del campo.
  5. En la cinta superior (de la pestaña Campos), guarde las ediciones de la tabla y cierre la vista Campos.
  6. Haga clic con el botón derecho en el campo numérico recién creado y seleccione Calcular campo. Se abre el cuadro de diálogo de geoprocesamiento Calcular campo.
  7. La Tabla de entrada, el Nombre de campo y el Tipo de expresión se rellenan automáticamente. En la ventana de la lista Campos de expresión, localice y haga doble clic en el campo de cadena de caracteres que contiene los atributos que se deben transferir al campo numérico recién creado. Se introduce lo siguiente en el cuadro de texto Expresión:
!!
An image of the Calculate Field pane.
  1. Haga clic en Ejecutar para ejecutar la herramienta.
Nota:
Puede que la herramienta no se ejecute correctamente si el campo de cadena de caracteres contiene valores Null (vacíos). Consulte 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.

Para ArcGIS Desktop 10.x

  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.
An image of the Field Properties dialog box.
  1. En la esquina superior izquierda de la ventana Tabla, haga clic en el botón desplegable Opciones de tabla User-added image y seleccione Agregar campo.
Nota:
La opción Agregar campo solo está disponible cuando el usuario tiene acceso de escritura a los datos y ningún otro usuario ni aplicación accede a esos datos. La opción también está deshabilitada si el mapa se encuentra en una sesión de edición.
  1. Proporcione un Nombre para el nuevo campo.
  2. Defina el Tipo de campo a uno numérico, como Entero largo o Doble.
  3. Si lo desea, defina la Precisión y la Escala.
  4. Haga clic en Aceptar.
  1. Haga clic con el botón derecho en el encabezado del campo que acaba de crear y seleccione Calculadora de campo.
  2. Si el campo de cadena de caracteres contiene únicamente valores numéricos, siga estos pasos para copiar los atributos al campo numérico:
    1. Defina el Analizador en VB Script.
    2. Introduzca [Nombre del campo de cadena de caracteres] en la ventana de la expresión o seleccione el campo de cadena de caracteres desde el cuadro Campos y haga clic en Aceptar.
An image of the Field Calculator dialog box.
  1. Si el campo de cadena de caracteres contiene valores numéricos y alfanuméricos mezclados, siga estos pasos para copiar los atributos:
    1. Defina el Analizador en VB Script y active la casilla de Mostrar bloque de código.
    2. Copie el siguiente código y péguelo en la ventana de texto Código de script 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:
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
Nota:
En la quinta línea, sustituya "CDbl(String)" por las siguientes funciones, según el tipo de campo numérico seleccionado en el paso 3(b):
- Entero: CInt(String)
- Largo: CLng(String)
- Doble: CDbl(String)
  1. En la segunda ventana de expresión, (en este ejemplo, "DoubleV ='), escriba:
Output
La siguiente imagen muestra el aspecto del cuadro de diálogo Calculadora de campo. En este ejemplo, el campo de cadena de caracteres se convierte en un campo Doble.
A picture of the code entered into the Field Calculator window.
  1. Haga clic en Aceptar. Una vez que se completa el script, el campo numérico se rellena 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 siendo  de forma predeterminada cuando se convierte al campo numérico.

Para 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.

Agregar un campo de número a la tabla
  1. Abra la tabla y seleccione Comenzar 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.
Usar la Calculadora de campo para copiar los valores en el nuevo campo y convertirlos en un número
  1. Abra la tabla y comience 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 de la lista Campos.
  5. Defina Tipo como Cadena de caracteres.
  6. Desplácese por la lista Solicitudes y haga doble clic en AsNumber.
  7. 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