I would recomend an update cursor as well,but to use a dictionary instead of all the elifs.Too, you mention that the field value for 'REF_ID' is a semi-colon delimited listand you want 'DATA_SOURCE' to be a similar listYou could incorporate something like this quick sketch:aDict = {'59333': "Gravity",
'59334': "Magnetics",
'61297': "Radar",
'61299': "Landsat",
'62227': "Fieldwork"
}
idVal = "59333;59334;61297;9999;61299;62227"
idList = idVal.split(';')
outStr = ''
for val in idList:
if val in aDict.keys():
word = aDict[val]
else:
word = "Unknown"
if len(outStr) > 0:
word = "; %s" % (word)
outStr = "%s%s" % (outStr, word)
print '\n', outStr
idVal is the 'REF_ID' value you obtain from the cursor for that rowThe outStr (the final one, this code reports it for every itteration....)is what you use to update 'DATA_SOURCE'