斯潘8
斯潘4
你好,
我有几个具有动态大小的列表(例如_能源清单,_电源列表,_时间表,等等……)。我想将这些列表合并在一起,以便为将它们插入到MySQL数据库做好准备。
目前,我确实把列表合并在一起了,但是按顺序,也许下面的快照可以更清楚地说明:
当然这不是我想做的。我需要得到时间戳和数据能量,等。。。在同一排。
一种可能是,要对每个列表使用ListExploder,并将每个项分别插入到数据库的相关列中。但这似乎不是正确的方法。
最后的目标,创建一个列表,该列表准备插入如下所示的数据库表:
我检查了下面的线,但它没有起作用。
https://knowledge.亚搏在线safe.com/questions/24685/merge-list-on-index.html
有人知道如何让它工作吗?
谢谢!
如果单独提供具有这些csv文本的三个功能,我在上一篇文章中建议的第二种方法可以应用。即特征合并-多属性垃圾列表爆炸器。另见所附示例(FME 2016.1.2):多属性splitter-example.fmw
或者,您仍然可以应用我一开始提到的BulkAttributeRanmer方法,如果将csv文本与attributesLitters分割开来,然后无条件地将它们与feature合并。
不管怎样,重点是无条件地将多个功能合并为一个功能合并。
源数据如下所示:
var dataEnergyOut = [0.002,0.009,0.029,0.056,0.068,0.093,0.131,0.176,0.239,0.322,0.390,0.494,0.558,0.577,0.627,0.637,0.677,0.780,0.860,0.911,1.178,1.241,1.395,1.696,1.789,1.894,2.073,2.317,2.561,2.681,2.771,2.887,3.027,3.099,3.166,3.260,3.333,3.399,3.483,3.519,3.566,3.650,3.726,3.788,3.850,3.912,3.949,3.980,4.010,4.031,4.036,4.037,4.037]; var datapowerout=[7,29,80108,4610115217925329275415254,79200,381604123222021070249619120137341971897597748036146456088266376294263361421899338304245249248148123120,87,17,5,0]; var datapoweravg=[空,28,80108,4810015218025232272416256,76200,401604123202041068252616120437242071697697648036464560288268376292264336144188336304248248148124120,84,20,4,0];
正则表达式被用来分别提取它们中的每一个,最终得到一个如下所示的列表:
//that's for the data energy out case0.002,0.009,0.029,0.056,0.068,0.093,0.131,0.176,0.239,0.322,0.390,0.494,0.558,0.577,0.627,0.637,0.677,0.780,0.860,0.911,1.178,1.241,1.395,1.696,1.789,1.894,2.073,2.317,2.561,2.681,2.771,2.887,3.027,3.099,3.166,3.260,3.333,3.399,3.483,3.519,3.566,3.650,3.726,3.788,3.850,3.912,3.949,3.980,4.010,4.031,4.036,4.037,4.037//用于数据断电案例7,29,80108,46101152179255329275415254,79200,381604123222021070249619120137341971897597748036146456088266376294263361421899338304245249248148123120,87,17,5,0//用于功率平均案例NULL,28,80108,4810015218025232272416256,76200,40160412,3202041068252616120437242071697648036464560288268376292264336144188336304248248248148124120,84,20,4,0
之后,正在应用以“,”作为分隔符的attributeSplitter Transformer。
因此,我获得每个变量作为一个列表(在这个用例中有52个元素)。之后,我想插入DataenergyOutlist[0],数据断电[0],平均功率[0],等。。。在数据库中特定表的第一行(每个表在其相关单元格中)。所以我想到了合并或者类似的事情。
我想要避免的是分别为每个元素提供一个insert语句(不过我没有尝试过)。
我希望我能以足够清楚的方式解释这一情况。
根据源数据的提供方式,应考虑采用适当的方法。
如果每个源功能都有一个属性,该属性只包含单个列的一个值,并且它们是为同一序列中的每一行创建的,不必费心去创建列表。向功能添加目标行编号,并为每个功能添加计数器,然后将行号上的所有连接特征合并为特征合并。向请求者端口发送代表列的特性;将其他人送至供应商港口,将row number属性设置为join on参数,并将“是”设置为“流程复制供应商”参数。就这样。
或者,如果每一列只提供一个源功能,并且每个功能都有一个属性,其中包含特定格式(例如逗号分隔),无条件地合并功能后,尝试从FME集线器中删除multiattributesplitter。multiattributeSplitter可以从多个属性创建结构化列表,然后你可以使用列表爆炸器。要无条件地将功能与功能合并,向请求者端口发送代表列的特性;将其他人送至供应商港口,设置一个常量值(例如1)请求方和供应商的加入,并将“是”设置为“流程复制供应商”参数。
?2019安全亚搏在线软件公司|合法的