斯潘8
斯潘4
大家好,
关于这个话题有很多问题(例如,https://knowledge.亚搏在线safe.com/questions/51878/how-to-setattribute-lists-in-pythoncaller.html)但不知怎么的,我不能让它工作。背景如下:
我有一个XML,我正在阅读它并获取一些属性,以便在FME中传递它们以进行进一步的处理。我已经创建了一个听写列表,以便对它们进行分组,下面是我使用的代码:
域。附加('chartnumb_value':chartnumb_value,'nm_numbers':获取图表编号(更新),'region':获取区域(更新))打印域这是上面的印刷品:
['NM_编号:U'3040(P)/17',“地区”:U“阿拉伯联合酋长国”,'chartnumb_value':u'图表编号:8101']
['NM_编号:U'3027(P)/17',“地区”:U“孟加拉国”,'chartnumb_value':u'图表编号:8166']
['NM_编号:U'3038(P)/17',“地区”:U“澳大利亚”,'chartnumb_value':u'图表编号:aus778']
我想得到“chartnumb”值,‘NM数字’,并将“region”分成单独的列。对于此,我将在后面使用。附加以下内容:
范围内i的num_items=len(域)(num_items):chartnumb_value=domain[i][“chartnumb_value”]feature.setattribute(“_list”)。格式(i)ChartNumb_值
当我运行上述代码时,我总是得到一个价值,无论我是否在要公开的属性中的列表后附加(.chartNumb_值)
我一直在寻找解决方案,但对我来说没有任何解决方案,可能(很明显)我错过了什么。
事先谢谢你的帮助
塞萨尔
抱歉,真正的原因是之前没有在这里公布答案,在将python代码和源代码发送到safe之后(谢谢亚搏在线@戴维安特亚搏在线)这种新方法更干净,使用方便。在处理这种情况时,我将附加代码以供将来参考。
谢谢
塞萨尔
您好!@苏亚雷斯,
请尝试:
num_items=len(domain)for i in range(num_items):entry=domain[i]for key in entry:feature.setattribute(“_list”)。format(i)+''+key,条目[键])
这将在该功能上创建以下属性:
'_list{0}.chartnumb_value' has value `Chart No: 8101''_list{0}.nm_numbers' has value `3040(P)/17''_list{0}.region' has value `UNITED ARAB EMIRATES'`_list{1}.chartnumb_value' has value `Chart No: 8166'`_list{1}.nm_numbers' has value `3027(P)/17'`_list{1}.region' has value `BANGLADESH'`_list{2}.chartnumb_value' has value `Chart No: AUS778'`_list{2}.NM撊u numbers'的值为'3038(p)/17'` 2的值为'Australia'
1'NM_编号:U'3040(P)/17',“地区”:U“阿拉伯联合酋长国”,'chartnumb_value':u'图表编号:8101'1'nm_numbers':u'3027(p)/17',“地区”:U“孟加拉国”,'chartnumb_value':u'图表编号:8166'1'nm_numbers':u'3038(p)/17',“地区”:U“澳大利亚”,'chartnumb_value':u'图表编号:aus778'
类FeatureProcessor(object):def_uu init_uuuuu(self):self.features=[]def input(self,feature):self.features.append(feature)def close(self):newfeature=self.features[0]for i,枚举中的功能(self.features):todo:获取或计算这些值。#chartNumb_value=?#更新=?#num_numbers=get_chart_nm_numbers(update)region=get_region(update)newfeature.setattribute(list%d.chartNumb_value“%i,chartnumb_value)newfeature.setattribute(''列表%d.num_编号'%i,num_numbers)newfeature.setattribute(''列表%d.区域''%i,region)self.pyoutput(新功能)
?2019安全亚搏在线软件公司|合法的