2017-10-05 8 views
0

を文字列を日付に変換し、私はこのようになりますcsvファイルがあります:私はDataweaveを使用してJavaのArrayListに変換した後ごとに使用してCSVファイルを反復していますミュール -

enter image description here

を。 これで、DateからStringの要素の1つをOracle Timestampに変換する必要があります。あなたの考えを助けてください。ソースコードは次のようになります。

<flow name="testFlow"> 
    <file:inbound-endpoint path="src/main/resources/input" 
moveToDirectory="src/main/resources/output" connector-ref="File" 
responseTimeout="10000" doc:name="File"/> 
    <dw:transform-message metadata:id="4e33c7ff-c33b-4c78-be34-79a154aa16df" 
doc:name="Transform Message"> 
     <dw:input-payload doc:sample="sample_data\list_csv.csv"/> 
     <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
payload]]></dw:set-payload> 
    </dw:transform-message> 
    <logger level="INFO" doc:name="Logger"/> 
    <foreach collection="#[payload]" doc:name="For Each"> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
    </foreach> 
</flow> 

フローの設計は次のようになります。

enter image description here

答えて

0

を基本的には、日付形式にcsvファイルの文字列がある日付フィールドを変換するために行うことです必要なもの。これを行うには、単に入力データ・フィールドのフォーマットを提供し、それは入力例(CSVはカンマで区切られている)の下では動作します: -

foo,bar,Name,Date 
foo1,baar1,Name1,15-01-2016 12:08 
foo2,baar2,Name2,15-01-2016 12:08 

あなたはDWの下に試すことができます: -

%dw 1.0 
%output application/java 
--- 
payload map { 
    foo : $.foo, 
    bar : $.bar, 
    Name : $.Name, 
    Date : $.Date as :date {format: "dd-MM-yyyy hh:mm" } 
} 
関連する問題