CSVファイルの取り扱いについて

Avatar
電太郎
現在DataSpiderの評価版を利用させていただいております。質問がいくつかございます。


1.CSVデータのマージについて



2ファイルのCSVファイルを1つのCSVファイルにマージする際には、マージマッピングオペレーションを利用すると思います。
このマージマッピングオペレーションで、演算のオペレーションを通して出力スキームに繋ぐと、出力スキームは、入力スキームからしかマッピングできません。と表示されてしまいます。
こちらの解決法をご教示ください。


2.CSVファイルのHTMLでのアップロードについて


例えば、とあるシステムから出力されたCSVを手作業で加工し、とあるHTMLサイトのファイルアップロード機能(ファイル選択ボタンからCSVファイルを選択し、確定ボタンを押すとCSVファイルがアップロードされる)で別のシステムにアップロードする。という運用があったとします。

とあるシステムから出力→DSに入力→加工→加工データをhttpリクエスト(POST)→アップロード完了


このすべてのフローをデータスパイダーで行うことは可能でしょうか。
また可能である場合に、httpリクエストのところで使用するアダプタはRESTアダプタになるのでしょうか。
こちらをご教示ください。


3.CSVファイルからの画面登録について



上と同じように、よくある登録画面のようなものも、CSVデータを読み込み、httpリクエストを飛ばして登録完了まで行うことは可能でしょうか。
こちらもご教示ください。また、エラーが出た場合には、登録画面で表示されるようなエラーメッセージを、
ログ出力させたりすることはできるのでしょうか。


初歩的な質問、また稚拙な表現などございますが、ご容赦ください。


宜しくお願いいたします。

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    ちいろ
    >>1.CSVデータのマージについて>>
    >>2ファイルのCSVファイルを1つのCSVファイルにマージする際には、マージマッピングオペレーションを利用すると思います。
    >>このマージマッピングオペレーションで、演算のオペレーションを通して出力スキームに繋ぐと、出力スキームは、入力スキームからしかマッピングできません。と表示されてしまいます。

    マージMapperを使って2つのCSVファイルを結合しながら、カラムの値を変換しているのですね。


    オンラインヘルプを少し調べたらところ、


    「変換ロジックを出力スキーマに直接マッピングすることはできません。」

    と書いてあるから、マージMapperの仕様上このような動作はできないみたいですね。


    マージMapperでマージロジックと使って一旦結合してから、出力をドキュメントMapperで加工すれば、

    同じことを実現できると思うので、試してみてはいかがでしょうか?

    (csv_read_1, csv_read_2) ⇒ merge_mapping ⇒ mapping ⇒ …


    ヘルプのページにマージロジックの使用例があるので、作成時の参考になると思います。



    0
  • Avatar
    電太郎
    回答いただきありがとうございます。

    >>merge_mapping ⇒ mapping ⇒


    この部分のフローについてなのですが、マージマッパーの後にドキュメントマッパーを入れると
    出力スキームが表示されません。。。
    0
  • Avatar
    チグリス
    横入り失礼します。


    ちょっと試してみたのですが、
    merge_mapping ⇒ CSV Write
    とデータフローを引いた状態から「⇒」のところを右クリックして「マッピングを追加」とやると、
    merge_mapping ⇒ mapping ⇒ CSV Write


    となってもmerge_mappingの出力スキーマが維持された状態で追加できるようです。


    あと、出力スキーマが無い状態でも、mergeマッパーの出力データのmappingを右クリックして「スキーマの読み取り」を選んでCSV関連のアダプタを選ぶと、tabe-row-columnのスキーマがセットされるので、ここから編集して作成したいスキーマを作ることもできました。

    もし
    電太郎さんのやろうとされていることと違っていたらすいません!


    それと2,3についてですが、私の知っている限りで書いてみます。

    ●2.CSVファイルのHTMLでのアップロードについて


    実際には試せてないのと、アップロードするHTMLサイトに依存する部分が大きいので確実なことは言えないのですが、
    恐らくDataSpiderのRESTアダプタで可能だと思います。


    RESTアダプタのPOSTで、Content-TypeヘッダのMIMEタイプを「multipart/form-data」を選択することができるので、
    これが一般的なファイルのアップロード機能に該当すると思います。


    ヘルプに入力ファイルを指定できると書いているので、加工したCSVファイルを指定すれば可能なのでは・・・。
    https://dl.appresso.com/help/dss40/help/ja/adapter/network/rest_execute_http_post.html


    ●3.CSVファイルからの画面登録について


    CSVデータがHTMLのテキストエリアに記述されていて、Submitして送信するようなイメージでしょうか?
    そのような処理でしたらRESTアダプタで作成したことがあります。
    データ形式でフォームを選択して処理を作れば可能だと思います。


    エラーメッセージを取得できるかどうかはどういうエラー画面が出るのかによるので、悩むところです。
    RESTアダプタのGetでHTMLを取得して加工すれば可能かもしれません。



    0
  • Avatar
    電太郎
    回答いただきありがとうございます。


    >>merge_mapping ⇒ CSV Write
    >>とデータフローを引いた状態から「⇒」のところを右クリックして「マッピングを追加」とやると、
    >>merge_mapping ⇒ mapping ⇒ CSV Write
    >>
    >>となってもmerge_mappingの出力スキーマが維持された状態で追加できるようです。
    >>あと、出力スキーマが無い状態でも、mergeマッパーの出力データのmappingを右クリックして「スキーマの読み取り」を選んでCSV関連のアダプタを選ぶと、tabe-row-columnのスキーマがセットされるので、ここから編集して作成したいスキーマを作ることもできました。
    >>もし電太郎さんのやろうとされていることと違っていたらすいません!

    →なるほど。このような方法があるのですね。一つ目の質問についてはこちらで解決できそうです。
    ありがとうございました。
    0
  • Avatar
    電太郎
    ●2.CSVファイルのHTMLでのアップロードについて 


    やはりRESTアダプタのPOSTで可能ですか。
    なにせ評価版にはRESTアダプタが実装されてないため、悩んでいました。
    「multipart/form-data」を使って試してみたいと思います。ありがとうございました。



    ●3.CSVファイルからの画面登録について 


    >>>CSVデータがHTMLのテキストエリアに記述されていて、Submitして送信するようなイメージでしょうか? 


    そのイメージです。ありがとうございます。


    >>>エラーメッセージを取得できるかどうかはどういうエラー画面が出るのかによるので、悩むところです。 
    RESTアダプタのGetでHTMLを取得して加工すれば可能かもしれません。



    なるほど、そうですよね。エラーの出し方にもよりますよね。
    GetでレスポンスのHTMLをゲットしてみたりとかになるんですかね。(完了画面やエラー画面など、、)
    やってみます。


    大変丁寧にご回答いただきまして誠にありがとうございました。
    0

ログインしてコメントを残してください。