デジタル推進課

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

KNIME - ファイルパスを操る2 - ファイルパスを作る Create File name

f:id:makkynm:20201220103324p:plain

 

 

はじめに

今回はファイル名を作成する部分から、実際にファイルパスを作って書き出すところまでやっていきたいと思います。今回も変数を使って行っていきますので、前回の記事や変数に関する記事を先に読むことをおススメします。

 

degitalization.hatenablog.jp

 

degitalization.hatenablog.jp

 

 

 今回のテーマ ~Create File name~

f:id:makkynm:20200823230143p:plain

 今回のテーマ ~Create File name~

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

hub.knime.com

 

 

覚えてほしいこと

ファイルパスを変数で作れるようになれば、共有するときにとても楽

 

やりたいこと

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

前回は日付のフォルダを作成しましたが、今回は前回作成したファルダの中に

  1. ファイル名を指定して
  2. ファイルパス(フォルダ+ファイル名+拡張子)にして
  3. 実際に書き出す

ところまでやりたいと思います。

f:id:makkynm:20200818085718p:plain

やりたいこと

 

1.ファイル名を作る ~String Manipulation (Variable)~

ファイル名が固定だったら全然この作業いらないんですが、練習がてらファイル名を「固定の文字+変数(今日の日付)」という風にしたいということにします。

これができれば大抵の応用が聞きますもんね。

このファイル名を作る部分は文字列操作(String Manipulation)変数バージョンを使います。

使い方の詳細は通常の String Manipulationと変わらないので省略します。まだご存知ない方は下記の記事をご覧ください。

degitalization.hatenablog.jp

 

Configureの画面だけ載せておきます。このNodeを使って、"FileName"という新しい変数の中に「固定の文字+変数(今日の日付)」という文字を格納します。

f:id:makkynm:20200823231133p:plain

Configure - String Manipulation(Variable)

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

f:id:makkynm:20200823230143p:plain

Workflow - Create File Name

Confirm - Before After

このように、前までに作ってあった、ファイル名(FileName)とフォルダパス(directory)を使って、ファイルパス(filePath)を作ります。

f:id:makkynm:20200823231823p:plain

Confirm - Create File Name

Configure

単純かと思います。このように、変数を使われる頻度が高いと予想されるようなNodeなので変数ボタンがあります。

f:id:makkynm:20200823232653p:plain

Configure - Create File Name
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のみ貼っておきます。

f:id:makkynm:20200823233715p:plain

Configure - Excel Writer

 

おわりに

アーカイブシステムが自動で作れるようになりましたね!もうここまで来たらKNIME怖いものなしだと思います。 少しのマニュアル作業も残さない完全自動化を目指していきましょう!

 

 

 

余談 

 中級編ももうじき終わりということで、頭の中に流れてきた曲は、「グレイテスト・ショーマン」の曲でした。皆さんもうすでに観たことあるのではないのでしょうか。勇気が出てくるそんな映画なので、最近元気ないなーだったりテンション上げたいなーというときにおススメしたいです。 

グレイテスト・ショーマン (字幕版)

グレイテスト・ショーマン (字幕版)

  • 発売日: 2018/05/09
  • メディア: Prime Video
 
グレイテスト・ショーマン (吹替版)

グレイテスト・ショーマン (吹替版)

  • 発売日: 2018/05/09
  • メディア: Prime Video
 

 

 

参考リンク