This is working but seems suboptimal. Is this the most correct way to go about it? for row_item in row: if type(row_item) is StringType: clean_item = clean_str(row_item) elif type(row_item) == type(dbi.dbiDate(0)): clean_item = clean_date(row_item) else: clean_item = clean_misc(row_item)