非プログラマーのためのインフォマティクス入門。(仮)

非プログラマーがインフォマティクスについて勉強したことを記録します。主にKNIMEというソフトを使用しています。

非プログラマーのためのインフォマティクス入門。(仮)

【超入門(3/3)】KNIMEの使い方 〜エクセルファイルとして書き出してみよう(Excel Writer)〜

前回までに KNIMEを使って、【エクセルファイルを読む】→【欲しい行を残す】というとこまでフローを書きました。

 

 

sumtat.hatenablog.com

今回は【超入門】シリーズの締めとして、

  • エクセルファイルとして書き出す
  • 作成したWorkflowを保存する

の2つについて書いていこうと思います。

 

〜追記:2021/05/27〜

KNIME 4.3.xから、Excel Reader/Writerが新しくなっているようです。キャプチャ画像が旧バージョンのままになっていますが、ご容赦ください。(sattleさん、コメント有難うございました!)

 

 

 Excel Writer

f:id:sumtat:20170725212748p:plain画面左側のnode repositoryからExcel Writerを探してきて、作業エリアに配置します。

配置した"Excel writerの入口▶︎"と"書き出したいデータが吐き出されている出口▶︎"をマウス操作で結びます。くっついたらExcel writerの設定画面を開きましょう。

ここまでは完全に前2回分の復習(応用)作業です!

もしわからない場合は【超入門】の過去記事をご覧いただければ大丈夫と自負しております。KNIMEでは、

nodeを作業エリアに持ってきて繋げる→実行する

の繰り返しにより種々の処理を行っていくのが基本スタイルです。

 

f:id:sumtat:20170725214954p:plain基本的な設定項目は赤枠部分です。

まずは保存場所・ファイル名を指定します。この際、拡張子まで書いてください。次に"add column headers"にチェックを入れることをお勧めします。最後に書き出したい項目がInclude側にあることを確認したらapply-OKです。(例えば性別が不要なら、画面下中央のremoveボタンを使用して、Exclude側に移します)。

 

<補足>

画面下の方に、Enforce inclusion, Enforce exclusionという設定があると思います。これだけを"絶対含む(書き出す)", "絶対外す(書き出さない)"項目という宣言です。上の例の設定で、入力ファイルに【年齢】みたいなカラムが増えた場合は、書き出しファイルに内容として含まれます。

→Enforce exclusionにチェックがある且つ、設定内容が空

→すなわち、流れてきたデータから外すものはない

という意味になります。

 

逆にEnforce inclusionにチェックが入っていたとすると【年齢】は書き出しファイルに含まれません。

→Enforce inclusion(xxだけを絶対残す)は【名前】【性別】【都道府県】

→すなわち、【年齢】は書き出さない

 

説明が下手くそですが、必ず使用する機会がある設定ですので、是非違いを試して見てください。

 

設定完了後、黄色信号になっています。実行すると緑信号に変わると同時に指定した場所に、指定した名前のエクセルファルが出来上がっているはずです。

 

Workflowの保存

説明するほどのことではないですが、画面左上の保存アイコン(保存のアイコンっていつまでフロッピーなんですかね?もう知らない人のが多いですよね…)をクリックするかFile→saveでワークフローが保存できます。青で脚注を入れましたが、ワークフローのタブに*印が付いているときは、最新の状態が保存されていないという意味です。saveすると消えます。

f:id:sumtat:20170725221308p:plain保存したワークフローは、画面左側のKNIME Explorerタブに格納されています。次回以降、ここで所望のワークフローをダブルクリックすれば、保存したフローが開きます。

f:id:sumtat:20170725222118p:plain

読み込みファイルを変更すれば、いつも同じ作業を繰り返し行うことができます。つまり、

ルーチンワークは(半)自動化可能!

ということです。

意外と手作業で済んでしまう仕事も多かったりしますが、機械に任せた方が速いしミスも少ないです。もちろん、プログラム言語を使って、自分でコードを書いたりできるのであれば、そちらの方が計算速度も速く、きめ細やかな設定が可能だとは思います。

が、私のような素人にはこれでも十分役にたっていますよ!

 

【超入門】はまずKNIMEを動かせることを目的に書いてみました。変数を使ったり、ループを回したり、webから情報とってきたりなどなど、面白くて便利な部分はこれからです!

今後はいろんなノードを紹介したり、ノードの組み合わせでできる便利な処理などを書いていこうと思います。

 

とりあえず次回は、

2つのファイルを照合しながら1つにする

について書いてみようと思います。