循环文件错误?

lghansselghansse 成员职位:18因素二世
2018年11月编辑 帮助

你好,

我试图使用循环文件操作符并追加一系列。csv文件。然而,当尝试追加时,我得到一个错误消息,属性'Telephone1'在我的所有文件中没有相同的数据类型,这是正确的(在某些情况下它是标称的,而在其他情况下是实际值)。因此,我在循环文件中添加了'parse numbers'操作符,以更改'Telephone1'的数据类型,但是当我这样做时,我得到了一个错误,该属性不存在。

-我已经检查了断点,但属性确实存在于每个上传的.csv文件中

-如果尝试,如果有某种空格后的变量可能导致的问题,这不是情况(即使我从我的结果视图复制属性名称,我得到同样的错误)。

-我尝试使用其他操作符来查看它们是否有效:如果我使用'Telephone1' RM做'选择属性',则不会给出错误消息,属性是选择并给出有效输出,但是,如果我使用分支操作符(以及其中的解析数字),因为我只想解析数字,如果'Telephone1'被识别为标称值,它也不起作用。

有人知道是什么问题吗?我在下面包含了我的XML。




< /操作符>








> < /过程
获取机构SFTP数据
< /操作符>


<过程扩展= " true " >




<枚举关键= "参数" / >
< /操作符>

<列出关键= " filters_list " >

< / >列表
< /操作符>



< /操作符>

<列出关键= " function_descriptions " >

< / >列表
< /操作符>



<列出关键= " key_attributes " >


< / >列表
< /操作符>

<列出关键= " filters_list " >

< / >列表
< /操作符>




< /操作符>












> < /过程
<过程扩展= " true " >





> < /过程
1:检查是否已经上传并只带走未上传的文件。<br>2:不检查并带走所有文件
< /操作符>

<过程扩展= " true " >

<过程扩展= " true " >




> < /过程
清理来自streetimport的一些数据问题
< /操作符>

<过程扩展= " true " >




> < /过程
< /操作符>

<过程扩展= " true " >




> < /过程
< /操作符>








> < /过程
<过程扩展= " true " >





> < /过程
清除streetimport中的数据,仅当它是新数据
< /操作符>








获取和处理我们从代理处获得的streettimport文件
从代理机构上传
预处理
加载到RMserver
> < /过程
< /操作符>
> < /过程

最佳答案

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理
    解决方案接受

    @lghansse-是的,我知道怎么回事了。所以你的Read CSV上的参数设置没有超过默认值,所以RapidMiner正在查看电话1,看到它是数字,使它成为Real。Parse Numbers只查找标称/多标称属性,所以说它找不到任何东西。

    解决方法是在Read CSV操作符中正确设置元数据。请看下面我的过程。

    <?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.0.001”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >

    <列出关键= "宏" >


    < / >列表
    机构详情
    < /操作符>



    0:完全可操作的实时数据<br>1:表中的历史数据,为了在新系统中未处理的完整数据
    < /操作符>






    <过程扩展= " true " >



    <列出关键= "注释" >

    < / >列表

    <列出关键= " data_set_meta_data_information " >










































    < / >列表
    < /操作符>

    <列出关键= " function_descriptions " >


    < / >列表
    < /操作符>



    < /操作符>








    > < /过程
    获取机构SFTP数据
    < /操作符>


    <过程扩展= " true " >




    <枚举关键= "参数" / >
    < /操作符>

    <列出关键= " filters_list " >

    < / >列表
    < /操作符>



    < /操作符>

    <列出关键= " function_descriptions " >

    < / >列表
    < /操作符>



    <列出关键= " key_attributes " >


    < / >列表
    < /操作符>

    <列出关键= " filters_list " >

    < / >列表
    < /操作符>




    < /操作符>












    > < /过程
    <过程扩展= " true " >





    > < /过程
    1:检查是否已经上传并只带走未上传的文件。<br>2:不检查并带走所有文件
    < /操作符>

    <过程扩展= " true " >

    <过程扩展= " true " >




    > < /过程
    清理来自streetimport的一些数据问题
    < /操作符>

    <过程扩展= " true " >




    > < /过程
    < /操作符>

    <过程扩展= " true " >




    > < /过程
    < /操作符>








    > < /过程
    <过程扩展= " true " >





    > < /过程
    清除streetimport中的数据,仅当它是新数据
    < /操作符>








    获取和处理我们从代理处获得的streettimport文件
    从代理机构上传
    预处理
    加载到RMserver
    > < /过程
    < /操作符>
    > < /过程

    斯科特

    lghansse

答案

  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    @lghansse

    您是否可以验证您的XML代码,似乎代码的某些部分丢失了。当然,要复制整个XML代码:

    -单击XML面板

    -控制+一个(确保复制了整个XML代码)Control + C,

    你也能分享一些你的。csv文件吗?

    问候,

    莱昂内尔

  • lghansselghansse 成员职位:18因素二世

    对不起,复制时遗漏了XML的某些部分。这应该是正确的。我真的不能上传。csv文件,因为它们包含个人数据。我在我的一个文件中包含了一个匿名的例子。

    <?xml version="1.0" encoding="UTF-8"?> <过程version = " 7.5.003”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >

    <列出关键= "宏" >


    < / >列表
    机构详情
    < /操作符>



    0:完全可操作的实时数据<br>1:表中的历史数据,为了在新系统中未处理的完整数据
    < /操作符>





    <过程扩展= " true " >

    <列出关键= "注释" / >
    <列出关键= " data_set_meta_data_information " / >
    < /操作符>

    <列出关键= " function_descriptions " >


    < / >列表
    < /操作符>



    < /操作符>








    > < /过程
    获取机构SFTP数据
    < /操作符>


    <过程扩展= " true " >




    <枚举关键= "参数" / >
    < /操作符>

    <列出关键= " filters_list " >

    < / >列表
    < /操作符>



    < /操作符>

    <列出关键= " function_descriptions " >

    < / >列表
    < /操作符>



    <列出关键= " key_attributes " >


    < / >列表
    < /操作符>

    <列出关键= " filters_list " >

    < / >列表
    < /操作符>




    < /操作符>












    > < /过程
    <过程扩展= " true " >





    > < /过程
    1:检查是否已经上传并只带走未上传的文件。<br>2:不检查并带走所有文件
    < /操作符>

    <过程扩展= " true " >

    <过程扩展= " true " >




    > < /过程
    清理来自streetimport的一些数据问题
    < /操作符>

    <过程扩展= " true " >




    > < /过程
    < /操作符>

    <过程扩展= " true " >




    > < /过程
    < /操作符>








    > < /过程
    <过程扩展= " true " >





    > < /过程
    清除streetimport中的数据,仅当它是新数据
    < /操作符>








    获取和处理我们从代理处获得的streettimport文件
    从代理机构上传
    预处理
    加载到RMserver
    > < /过程
    < /操作符>
    > < /过程

    Data1.csv 2.2 k
  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理

    @lghansse-欢迎来到社区。这只是一个友好的提醒,在您发送代码时也要使用按钮。它把柱子清理干净,不转;)变成了笑脸符号。

    斯科特

  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    @lghansse

    我不能重复你的错误。

    我通过选择“Telephone 1”作为标称来导入您的csv文件,然后我写入文件:data2.csv

    当我启动该进程时,可以很好地添加data1.csv(以'telephone 1'为实值)和data2.csv(以'telephone 2'为标称值),没有错误。

    一个可能的轨道:试试循环文件(高级)的操作员手提钻扩展

    问候,

    莱昂内尔

  • lghansselghansse 成员职位:18因素二世

    @sgenzer谢谢你的帮助!

    sgenzer
登录注册置评。