[GIS] How to concatenate values of two fields with update cursor with ArcPy

arcpycursornull

I have a small block of code where I concatenate two date fields and use field calculator to calculate a the values of a third field. My date fields are ORIGDTDATE and ORIGDTTIME.

How can I change the block of code that is below to concatenate the fields if the value for the row in emergency_overdue is NULL?

import arcpy     

calcExpression =  "!ORIGDTDATE!+\" \"+ !ORIGDTTIME!"            

arcpy.CalculateField_management(self.line_ticket_feature_class,"emergency_overdue",calcExpression,"PYTHON_9.3")

arcpy.CalculateField_management(self.poly_ticket_feature_class,"emergency_overdue",calcExpression,"PYTHON_9.3")

Best Answer

You can create an update cursor with a where clause for only rows where emergency_overdue is null. The code below is a straight concatenation of the date and time fields, you may want to use a separator like "ORIGDTDATE" + ":" + "ORIGDTTIME".

with arcpy.da.UpdateCursor(self.line_ticket_feature_class, ["ORIGDTDATE", "ORIGDTTIME", "emergency_overdue"], "emergency_overdue IS NULL") as ucur:
    for row in ucur:
        row[2] = row[0] + row[1]
        ucur.updateRow(row)
Related Question