Resumen
Une el contenido de una tabla a otra tabla basándose en un campo de atributos común. La tabla de entrada se actualiza para contener los campos de la tabla a unir. Puede seleccionar qué campos de la tabla a unir se agregarán a la tabla de entrada.
Los registros de la Tabla de entrada se unen con los registros de la Tabla de unión basándose en los valores del Campo de unión de entrada y el Campo de unión de salida. Opcionalmente, solo los campos deseados se pueden seleccionar de la Tabla a unir y adjuntar a la Tabla de entrada durante la unión.
Ilustración
Uso
La Tabla de entrada puede ser una clase de entidad (incluyendo shapefile) o una tabla.
-
Se mantendrán todos los campos de la Tabla de entrada durante la unión. Opcionalmente, solo se agregarán a la salida campos seleccionados de la Tabla a unir. Esto se puede verificar en el parámetro Campos de unión.
Los registros de la Tabla a unir pueden coincidir con más de un registro de la Tabla de entrada. Para obtener más información sobre uniones de uno a uno, de muchos a uno, de uno a muchos y de muchos a muchos, vea Acerca de unir y relacionar tablas.
Si no hay campos seleccionados para el parámetro opcional Campos de unión, se unirán todos los campos de la Tabla a unir a la salida.
Las uniones pueden estar basadas en campos de tipo texto, fecha o número.
Las uniones basadas en campos de texto distinguen entre mayúsculas y minúsculas.
Los campos de formatos de número distinto se pueden unir siempre y cuando los valores sean iguales. Por ejemplo, un campo de tipo flotante se puede unir a un campo de entero corto.
El Campo de unión de entrada y el Campo de unión de salida pueden tener nombres distintos.
Si un campo de unión tiene el mismo nombre que un campo de la tabla de entrada, al campo unido se agregará _1 (o _2, o _3, etc.) para que sea único.
Si los valores en el Campo de unión de salida no son únicos, solo se utilizará la primera ocurrencia de cada valor.
- Para dar cuenta de los valores de la tabla a unir que no sean la primera ocurrencia, comience por ejecutar la herramienta Resumen de estadísticas utilizando la Tabla a unir como entrada. El Resumen de estadísticas le permite resumir campos (por ejemplo, suma, valor medio, mínimo).
- Para fusionar dos o más campos en la tabla a unir antes de la unión, primero exporte la tabla o clase de entidad utilizando la herramienta Tabla a tabla y haga la fusión utilizando el mapa de campo de la herramienta.
Sintaxis
JoinField_management (in_data, in_field, join_table, join_field, {fields})
Parámetro | Explicación | Tipo de datos |
in_data | Tabla o clase de entidad a la cual se unirá la tabla a unir. | Mosaic Layer; Mosaic Dataset; Raster Catalog Layer; Raster Layer; Table View |
in_field | Campo de la tabla de entrada en el cual se basará la unión. | Field |
join_table | Tabla que se unirá a la tabla de entrada. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field | El campo en la tabla a unir que contiene los valores sobre los cuales se basará la unión. | Field |
fields [fields,...] (Opcional) | Campos de la tabla a unir que se incluirán en la unión. | Field |
Ejemplo de código
Ejemplo 1 de JoinField (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función JoinField en el modo inmediato.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
Ejemplo 2 de JoinField (secuencia de comandos de Python independiente)
Esta secuencia de comandos Python independiente muestra la función JoinField utilizada para unir una tabla a una clase de entidad y solo incluye dos de los campos de la tabla en la unión.
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# Import system modules
import arcpy
from arcpy import env
# Set the current workspace
env.workspace = "c:/data/data.gdb"
# Set the local parameters
inFeatures = "zion_park"
joinField = "zonecode"
joinTable = "zion_zoning"
fieldList = ["land_use", "land_cover"]
# Join two feature classes by the zonecode field and only carry
# over the land use and land cover fields
arcpy.JoinField_management (inFeatures, joinField, joinTable, joinField, fieldList)
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Sí
- ArcGIS for Desktop Standard: Sí
- ArcGIS for Desktop Advanced: Sí