@user01 All the suggested ideas are correct, but probably tedious if you have 90 attributes to test. I've created a python script that will test for nulls:
import fme import fmeobjects import re
# find the list of <null> attributes on a feature
def processFeature(feature): # initialize the python lists with FME lists _attrList = feature.getAllAttributeNames() #print(_attrList) _nullAttrs = [] for i in range(len(_attrList)): attrValue = feature.getAttribute(_attrList[i]) # filter out format and other unwanted attributes with regex x = re.search("^multi_|^csv_", _attrList[i]) # test if attrValue is null and not in the unwanted list of attrs. if not attrValue and not x: _nullAttrs.append(_attrList[i]) # output the FME lists feature.setAttribute('nullAttributes{}', _nullAttrs)
@user01 All the suggested ideas are correct, but probably tedious if you have 90 attributes to test. I've created a python script that will test for nulls:
import fme import fmeobjects import re
# find the list of <null> attributes on a feature
def processFeature(feature): # initialize the python lists with FME lists _attrList = feature.getAllAttributeNames() #print(_attrList) _nullAttrs = [] for i in range(len(_attrList)): attrValue = feature.getAttribute(_attrList[i]) # filter out format and other unwanted attributes with regex x = re.search("^multi_|^csv_", _attrList[i]) # test if attrValue is null and not in the unwanted list of attrs. if not attrValue and not x: _nullAttrs.append(_attrList[i]) # output the FME lists feature.setAttribute('nullAttributes{}', _nullAttrs)