デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - ファイルパスを操る1 - 今日の日付のフォルダを作る Create Directory

f:id:makkynm:20201220103157p:plain

 

 

はじめに

さて、そろそろ中級編も終わりにしていきたいと思います。最後は、ファイルパスを操るというシリーズで行っていきたいと思います。これらをマスターすることで、他人にワークフローを共有するときに、すべてのReader/Writer Nodeの設定を受け取った人がいちいち再設定する必要が最小限に抑えられるようになります。

第一回はフォルダを作るNodeを扱っていきます。

このテーマは変数を扱えることが前提となっています。

degitalization.hatenablog.jp

 

 

 今回のテーマ ~Create Directory~

今回は日付のフォルダを作っていきます。

f:id:makkynm:20200817083358p:plain

今回のテーマ ~Create Directory~

Workflowは下記からダウンロードできます。

hub.knime.com



覚えてほしいこと

Directoryは一個前までのフォルダパス、Nameが作りたいフォルダ

 

やりたいこと

実行日ごとにフォルダを作って、そこにOutputをアーカイブしていくシステムを作っていきたいと思います。ファイル名にも日付を入れる必要は実際ありませんが、練習のためにファイル名にも日付を入れたいと思います。

 今日はそのうちのフォルダ作成の部分までです。

f:id:makkynm:20200818085718p:plain

やりたいこと

 

 

Create Directory の使い方

Directoryを、共有フォルダにしておけば誰が実行しても同じInputファイル、Outputファイルが作れるようになります!

KNIME v4.3からCreate FolderにNodeが変わりました。引き続きCreate DirectoryもLegacy Nodeとして使用はできます。Create FolderのConfigurationはUploadされているワークフローから参照ください。

Workflow

今日の日付は変数で受け渡します。

f:id:makkynm:20200817083358p:plain

Workflow - Create Directory

Confirm - Before After

まず、Date&Time Configurationで今日の日付を"Today"という変数名で取得しています。それをフォルダ名にしていきます。

f:id:makkynm:20200817091154p:plain

Confirm - Before After - Create Directory

 

Configure

 今回は変数を使うのでFlow Variablesの部分も設定します。設定項目自体は単純化と思います。

f:id:makkynm:20200817090428p:plain

Configure - Create Directory

f:id:makkynm:20200817090450p:plain

Configure - Create Directory
Step1 - Location 一個上の階層までのパスを指定 

日付のフォルダを作成したいフォルダ(一個上までの階層)を指定します。

今回は、"C:\Users\makky\Downloads\data"という階層のフォルダになります。やりたいことの図でいうと、”dataという”フォルダの下にの部分です。

f:id:makkynm:20200818085900p:plain

やりたいこと

また、今回は扱いませんが相対パスも使用できます相対パスを使用することによってServer上で動かすときや、人に共有した時にでも受け取り側で設定の変更がなく共有できたりします。

 

Step2 - Name 作成するフォルダ名を指定 

Nameで今回作成するフォルダ名を入れます。今回は変数を使いたいので、Flow Variablesのタブのnameの部分で、Date&Time Configuration Nodeで作成したTodayという変数を指定しています。

ここが、やりたいことでいう日付のフォルダを作成の部分ですね。

また、KNIMEの仕様?で何かnameの部分に仮の文字を入れないと動いてくれないので、今回はtodayという仮の文字をOptionsの方にも入れています。

もしフォルダ名が固定(変数を指定しない)の場合は、"today"というフォルダが作られることになります。

 

Step3 - Variable name 出力変数名の指定 

最後に、作ったフォルダパスを格納する変数の名前を指定します。

また、Optionにある"Abort if directory already exists"の意味は、チェックを入れると、すでにフォルダが存在している場合にはエラーとして実行を止めるという意味です。

 

 

おわりに

お盆開けてしまいましたね。すべての記事を読んでくださった方がいらっしゃるかは分かりませんが、きっとここまでやっていただいた方はもうすでにKNIMEをマスターしているといっていいのではないでしょうか。こんな風に使ってみたなどの事例が共有できるといいなーと思います。積極的に自動化してサボっていきましょう!

 

 

 

余談 

お盆だー、旅行して自然を味わいたい!ということでおススメしたいのが「WOOD JOB!(ウッジョブ)~神去なあなあ日常」です。林業というあまり触れることのない世界について書いた映画で、見てるだけで大自然にいるような感覚になります。 

  

参考リンク