Since you know how to iterate and find the features that you want to merge, I would build a function to do the merge which could probably be arcpy.Dissovle_management(). Do the dissolve and you can probably use the aggregating parameters to combine the attributes then delete those features from the original and update the data back with a insert cursor.
How do you identify which features need to get merged?
Here is a rough draft of what I think you are after. Use the cursor to get the OBJECTID's that you need. I don't think that the da.SearchCursor is needed. The values from the cursor are used to form a SQL where clause in making a feature layer with only the two needed polygons. From there, dissolve with appropriate name. You will need to fit this your needs and give it some testing and error handling, but should give you a start.
import arcpy
arcpy.env.workspace = "...\\your_gdb"
FC = "BLPUsCavPlace"
TABLE = "BLPUsCavPlaceContigBLPUs"
FIELDS = ["blpuid", "contigid"]
with arcpy.SearchCursor(TABLE, FIELDS) as cursor:
for row in cursor:
OID1 = str(row[0])
OID2 = str(row[1])
SQL = "OBJECTID = %s OR OBJECTID = %s"%(OID1, OID2)
arcpy.MakeFeatureLayer_management(FC, "TEMP_LYR", SQL)
OUTPUT_NAME = "Dissolve_%s_%s"%(OID1, OID2)
arcpy.Dissolve_management("TEMP_LYR", OUTPUT_NAME)
arcpy.Delete_management("TEMP_LYR")
it may be the with/as, so try:
rows = arcpy.SearchCursor(TABLE, FIELDS)
for row in rows:
OID1 = str(row[0])
OID2 = str(row[1])
SQL = "OBJECTID = %s OR OBJECTID = %s"%(OID1, OID2)
arcpy.MakeFeatureLayer_management(FC, "TEMP_LYR", SQL)
OUTPUT_NAME = "Dissolve_%s_%s"%(OID1, OID2)
arcpy.Dissolve_management("TEMP_LYR", OUTPUT_NAME)
arcpy.Delete_management("TEMP_LYR")
EDIT: this one is almost there, just having a problem with the output name as in the comment below
FC = "BLPUsCavPlace"
TABLE = "BLPUsCavPlaceContigBLPUs"
FIELDS = ["blpuid", "contigid"]
with arcpy.da.SearchCursor(TABLE, FIELDS) as cursor:
for row in cursor:
OID1 = str(int(row[0]))
OID2 = str(int(row[1]))
SQL = "OBJECTID = %s OR OBJECTID = %s"%(OID1, OID2)
arcpy.MakeFeatureLayer_management(FC, "TEMP_LYR", SQL)
OUTPUT_NAME = "Dissolve_%s_%s"%(OID1, OID2)
arcpy.Dissolve_management("TEMP_LYR", OUTPUT_NAME)
arcpy.Delete_management("TEMP_LYR")
Best Answer
There is an existing ArcGIS Idea covering this functionality that you can vote for.
In the meantime a workaround may be as follows:
Personally, I would be more inclined to use the export/edit/import via Excel route that you suggested.