Question about JoinField_Management??

428
3
04-30-2013 05:55 AM
MichelleCouden1
Occasional Contributor III
Can anyone direct me to where it shows how to code for joining of two fields in the same layer. I found Join Field (Data Management) on Help desk, but the examples for python on the bottom are terrible.
Tags (2)
0 Kudos
3 Replies
ArkadiuszMatoszka
Occasional Contributor II
Hi,
Are you want to create filed that contains joined values from two other field? If so, what you're looking for is combination of
arcpy.AddField_mangement and arcpy.CalculateField_management.
fields_to_join = ['!FIELD_NAME_1!', '!FIELD_NAME_2!'] # don't forget exclamation marks!
fc = 'C:/example.shp'
arcpy.AddField_management(fc, 'NEW_FIELD_NAME', 'TEXT')
arcpy.CalculateField_management(fc, 'NEW_FIELD_NAME', ''.join(fields_to_join), 'PYTHON')

If you want to use some separator between values from different fields change '' in:
''.join(fields_to_join)

to 'separator' i.e.:
 '_'.join(fields_to_join) 


Hope it helps.
Cheers
Arek
0 Kudos
MichelleCouden1
Occasional Contributor III
Hey Arek, my bad I forgot one layer is a gdb. Is this the right code for joining 2 fields in a shapefile and 2 fields in a gdb??

import arcpy, traceback
from arcpy import env


mxd = arcpy.mapping.MapDocument("CURRENT")

# Join Fields
fc1 = 'K:\TASS\4_MAPPING_DATA_SUPPORT\Traffic_Mapping\Traffic_Count_Data\2011_Counts\2011_Annual_Stations\Annual_Stations_2011.shp'
fc2 = 'K:\TASS\4_MAPPING_DATA_SUPPORT\Traffic_Mapping\Traffic_Count_Data\District_Labels_Folder\Abilene_Labels.gdb'

fields_to_join = ['!F2011_TRAF!', '!FLAG!']
arcpy.AddField_management(fc1, 'COUNT', 'TEXT')
arcpy.CalculateField_management(fc1, 'COUNT', ''.join(fields_to_join), 'PYTHON')

fields_to_join = ['!TextString!', '!TFLAG!']
arcpy.AddField_management(fc2, 'TRAFFIC', 'TEXT')
arcpy.CalculateField-management(fc2, 'TRAFFIC', ''.join(fields_to_join), 'PYTHON')

0 Kudos
MichelleCouden1
Occasional Contributor III
Answered my own question on this. Has to be workspace!!
0 Kudos