如何在rapidminer中格式化日期/时间属性

时间:2016-05-03 14:09:43

标签: rapidminer

我有一个包含2列的.xls文件。一个名为“msgdate”,其中包含“20160314”(yyyyMMdd)等值,另一个名为“msgtime”的列包含“111215”(HHmmss)等值。我想将这两列连接为数据类型的date_time,以便我可以绘制值。我尝试了一些事情,但得到了一个不可解决的日期错误。我试过的事情: 导入文件选择msgdate作为日期数据类型,格式为yyyyMMdd,但有效但我无法在导入过程中设置任何时间格式而不会破坏日期格式。 导入文件选择msgdate作为日期数据类型,格式为yyyyMMdd,并将msgtime设置为整数,然后使用Numerical to Date运算符,但生成的值msgtime值不正确,结果为 - > Wed Dec 31 18:01:51 CST 1969)。感谢所提供的任何知识,并感谢您花时间阅读本文。

1 个答案:

答案 0 :(得分:0)

最简单的方法是将两个字段连接成一个,然后解析为一个新的datetime属性。我假设两个输入字段已经在下面的名词中显示了这一点。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="7.0.000">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="7.0.000" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="generate_data_user_specification" compatibility="7.0.000" expanded="true" height="68" name="Generate Data by User Specification" width="90" x="112" y="136">
        <list key="attribute_values">
          <parameter key="msgdate" value="&quot;20160314&quot;"/>
          <parameter key="msgtime" value="&quot;111215&quot;"/>
        </list>
        <list key="set_additional_roles"/>
      </operator>
      <operator activated="true" class="generate_attributes" compatibility="7.0.000" expanded="true" height="82" name="Generate Attributes" width="90" x="246" y="136">
        <list key="function_descriptions">
          <parameter key="datetime" value="msgdate+msgtime"/>
        </list>
      </operator>
      <operator activated="true" class="nominal_to_date" compatibility="7.0.000" expanded="true" height="82" name="Nominal to Date (3)" width="90" x="380" y="136">
        <parameter key="attribute_name" value="datetime"/>
        <parameter key="date_type" value="date_time"/>
        <parameter key="date_format" value="yyyyMMddHHmmss"/>
        <parameter key="keep_old_attribute" value="true"/>
      </operator>
      <connect from_op="Generate Data by User Specification" from_port="output" to_op="Generate Attributes" to_port="example set input"/>
      <connect from_op="Generate Attributes" from_port="example set output" to_op="Nominal to Date (3)" to_port="example set input"/>
      <connect from_op="Nominal to Date (3)" from_port="example set output" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>

希望这有助于您的发展。