Используйте вычисление поля, чтобы добавить строку из другого поля, если оно не равно Null - PullRequest
1 голос
/ 04 апреля 2019

Мне нужно создать один столбец, который объединяет строки из двух других столбцов без создания дополнительных разделителей.

У меня есть один столбец, содержащий типы объектов сточных вод, а другой - типы объектов воды.Большинство из них являются нулевыми в том или ином, но у некоторых есть и вода и сточные воды.Я хочу объединить два столбца в один, но я не хочу никаких дополнительных разделителей, где существуют нулевые значения.Зеленая таблица на картинке - это то, что я ищу.

Пример

Я очень ржавый в коде, так что это, вероятно, очень уродливо.Я не могу понять, как отладить его в Arc, не выполняя вычисления.

	Val1 ==  !WATER_TYPE! 
	Val2 == !WASTE_TYPE!
	
	def updateValue(value):
		if Val2 == None:
		  return Val1
		else: return !WATER_TYPE! & “, “  & !WASTE_TYPE! 
    
    updateValue(!RAC_TYPES!)

1 Ответ

0 голосов
/ 04 апреля 2019

Попробуйте так:

def f(aa, bb=None):  # or bb=''
    if bb:  # this is True if bb exists (i.e., not None)
        return str(aa) + '; ' + str(bb)
    else:
        return str(aa)

f('ADM','LS')  ##Output: 'ADM; LS' 
f('ADM')       ##Output: 'ADM'

...