from pyspark.sql.types import NullType def custom_id_to_upc(custom_id): if custom_id: split_col = custom_id.replace('ArtTrack-','').split('_') # if the first unit inumeric, that is the UPC if split_col[0].isdigit() and len(split_col)==1: upc = split_col[0] elif split_col[0].isdigit()!=1 and len(split_col)==1: return NullType() else: upc=split_col[0] else: return NullType() return upc def custom_id_to_isrc(custom_id): if custom_id: split_col = custom_id.replace('ArtTrack-','').split('_') if split_col[0].isdigit() and len(split_col)==1: return NullType() elif split_col[0].isdigit()!=1 and len(split_col)==1: isrc = split_col[0] else: isrc = split_col[1] else: return NullType() return isrc