斯潘8
斯潘4
还有很多类似的帖子,但我似乎找不到有效的解决方案。我仍在尝试在我的端构建一个工作流,亚搏在线但我想我会在这里张贴看看是否有人知道一个简单的解决方案。
我有一个表中的数据,如下所示…
身份证件 | 二级身份证 |
一 | ABC123 |
一 | DEF345 |
一 | GHJ67 |
二 | DEF345 |
二 | XYZ7899 |
三 | VWX567 |
四 | ABC123 |
我想把它转换成电子表格,这样它看起来像是…
身份证件 | 二次方ID1 |
二次方ID2 | 二次方ID3 |
一 | ABC123 |
DEF345 |
GHJ67 |
二 | DEF345 |
XYZ7899 |
|
三 | VWX567 |
||
四 | ABC123 |
我碰到的一个问题是,对于一个给定的ID,可能有任意数量的二级ID……对于一个ID,可能有几百个。所以,我希望在最后有一个表格数据集,可能有几百列,每排一行身份证件。
这有可能吗?我正试图用列表属性来概括我的想法,但我正在努力寻找一种解决方案,将列表中的每个属性值输出为它自己的列。据我所知,我只需要一个列表属性作为次要的_ID值。
我会继续玩,我会发布我找到的任何解决方案。
谢谢你抽出时间。
仅供参考…我正在通过Arcgis数据互操作性扩展运行FME 2015.0(20150114-构建15245-win32)。
如果将按主ID分组的辅助ID填充到列表中,您只需使用attributeranamer将每个元素重命名为所需的名称。
当然可以。
只是不太吸引人,因为你不能导入属性名。除非先创建映射并导入,哪种方式会破坏目标,因为它显然效率较低。
我只需在say excel中为这种枚举属性名创建一个映射,使之与预期需求一样大。
当不枚举时,我只是从功能信息窗口复制列表,并使用类似记事本+的方法对其进行分析。
您可以使用枚举数据的python attributeCreation替换公开器。
我想这样做会使数据集增加2。
这将一直持续到安全局知道如何盲目暴露隐藏的亚搏在线一切。
ID上的ListBuilder,爆炸。将elemtn索引值增加1。
将其与二级\u id\连接。
create attribute@value(_result)=@值(secondary id)
将secondary_id_1公开给secondary_id_n(通过递增在Excel中创建列表,并在Exposer中导入)。
aaah..无法导入FME_2015。希望那时你没有上百个身份证。(升级FME?)
ID为的聚合器,删除属性,使用attributs将secondary_id_1连接到secondary_id_n无分离器.
现在你已经完成了
这就是我在2018年会怎么做的
以及python,以避免手动公开属性
import fme import fmeobjectsdef create_schema(feature):attrlist=feature.getattribute('.sec_id_name')feature.setattribute('attribute'+str(0)+'.name','id')feature.setattribute('attribute'+str(0)+'.fme_data_type','fme_char(20)',枚举中的val(attrlist):feature.setattribute('attribute'+str(i+1)+'.name',val)feature.setattribute('attribute'+str(i+1)+'.fme _data _type','fme _char(20)'
粗糙的边桌很少有趣的工作,你能把问题重构成(比如)每个id值输出一个工作表,并在一列中保留辅助id吗?
潜在地,但我可能需要进一步改变,我们已经建立了一个脚本来处理这样一个粗糙的边缘表。也许我们需要在这方面做一些改变。
现在我知道我可以用listbuilder/listconnator来实现,对于我来说,使用ListElementCounter来了解我需要多少列是明智的。
总之,我已经建立了一个非常不优雅的解决方案。我只是构建一个列表并设置一个attributeCreator来为每个列表元素编号输出一个新的属性。
例如。,attributeName=第二个\u id\u 1,value=@value(list 0.secondary_id)
attributeName=二级\u id\u 2,value=@value(list 1.secondary_id)
attributeName=二级\u id\u 3,value=@value(list 2.secondary_id)
…等等,直到我创建了足够的新属性来保存ListElementCounter中的最大计数。
也许会想到一个更优雅的解决方案,如果是的话,我会在这里发布。
感谢大家的快速反馈。
?2019安全亚搏在线软件公司|合法的