- はじめに
- 覚えてほしいこと
- やりたいこと
- 1.ファイル名を作る ~String Manipulation (Variable)~
- 2.Create File nameの使い方
- 3.作ったファイルパスで出力する
- おわりに
- 参考リンク
はじめに
今回はファイル名を作成する部分から、実際にファイルパスを作って書き出すところまでやっていきたいと思います。今回も変数を使って行っていきますので、前回の記事や変数に関する記事を先に読むことをおススメします。
今回のテーマ ~Create File name~
Workflowは下記からダウンロードできます。
覚えてほしいこと
ファイルパスを変数で作れるようになれば、共有するときにとても楽
やりたいこと
実行日ごとにフォルダを作って、そこにOutputをアーカイブしていくシステムを作っていきたいと思います。ファイル名にも日付を入れる必要は実際ありませんが、練習のためにファイル名にも日付を入れたいと思います。
前回は日付のフォルダを作成しましたが、今回は前回作成したファルダの中に
- ファイル名を指定して
- ファイルパス(フォルダ+ファイル名+拡張子)にして
- 実際に書き出す
ところまでやりたいと思います。
1.ファイル名を作る ~String Manipulation (Variable)~
ファイル名が固定だったら全然この作業いらないんですが、練習がてらファイル名を「固定の文字+変数(今日の日付)」という風にしたいということにします。
これができれば大抵の応用が聞きますもんね。
このファイル名を作る部分は文字列操作(String Manipulation)変数バージョンを使います。
使い方の詳細は通常の String Manipulationと変わらないので省略します。まだご存知ない方は下記の記事をご覧ください。
Configureの画面だけ載せておきます。このNodeを使って、"FileName"という新しい変数の中に「固定の文字+変数(今日の日付)」という文字を格納します。
2.Create File nameの使い方
2.ファイルパス(フォルダ+ファイル名+拡張子)にする部分です。今回は前のステップでフォルダパスとファイル名の変数を作ったので、それを選択するだけです。
KNIME v4.3からCreate File/Folder VariablesにNodeが変わりました。引き続きCreate File nameもLegacy Nodeとして使用はできます。Create File/Folder VariablesのConfigurationはUploadされているワークフローから参照ください。
Workflow
Confirm - Before After
このように、前までに作ってあった、ファイル名(FileName)とフォルダパス(directory)を使って、ファイルパス(filePath)を作ります。
Configure
単純かと思います。このように、変数を使われる頻度が高いと予想されるようなNodeなので変数ボタンがあります。
Step1 - Selected Directory フォルダパスの指定
もちろんBrowseから手動で入力してもよいですが、私たちがやりたいのは完全自動化です。なので今回はCreate DirectoryのNodeで作ったフォルダの変数の名前(directory)を変数ボタンから指定します。
Step2 - Filename settings ファイルパスの作成
ファイル名と拡張子を設定します。
ファイル名は先ほどString Manipulation(Variable)のNodeで作ったファイル名の変数(FileName)を指定しました。
拡張子は選択式で設定できます。今回はExcelで書き出したいので、".xlsx"を指定しました。
また、作成したファイルパスを格納する変数の名前もここで指定します。Overwrite existing variableにチェックを入れるともし同じ変数が存在していた場合、今回の結果で上書きすることになります。
Step3 - Output Preview 出力予定のファイルパスのプレビュー
これは必要ありませんが、作成予定のファイルパスをボタンを押せばプレビューとして表示できます。Confirmをしなくてもいいので便利ですね。
3.作ったファイルパスで出力する
Create File Nameで作った変数を使って実際のデータを出力してみましょう。以前扱った内容なので、Configureのみ貼っておきます。
おわりに
アーカイブシステムが自動で作れるようになりましたね!もうここまで来たらKNIME怖いものなしだと思います。 少しのマニュアル作業も残さない完全自動化を目指していきましょう!
余談
中級編ももうじき終わりということで、頭の中に流れてきた曲は、「グレイテスト・ショーマン」の曲でした。皆さんもうすでに観たことあるのではないのでしょうか。勇気が出てくるそんな映画なので、最近元気ないなーだったりテンション上げたいなーというときにおススメしたいです。
参考リンク
- KNIME公式Node Pit(英語):
- KNIME Example Workflow(英語):