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

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

【超入門(1/3)】KNIMEの使い方 〜エクセルファイルを読んでみよう(Excel Reader)〜

KNIME Workflow

KNIMEの超基本的な使い方を数回に分けて書いてみます。

まずKNIMEを起動すると、多少レイアウトが違ったりするかもしれませんが、概ねこんな感じになるとおもいます。f:id:sumtat:20170723144131p:plain左上の赤枠内の小さな▼をクリック後、New KNIME Workflowを選択します(File→ニューでも構いません)。そうするとこんな感じの画面ができます↓。Nameはtestとしておきました。f:id:sumtat:20170723144621p:plainFinishすると真っ白の領域がでてきます。ここが作業場です。赤枠内のNode repositryの中から自分のやりたい作業に適したもの(node)を探します。すごくたくさんあるので、検索窓にnodeの名前の一部をいれると、早くたどり着けます。今回はまずエクセルファイルを読んでみようと思うので、【Excel Reader (XLS)】をダブルクリックする or ドラッグ&ドロップで作業場所に引っ張ってきてみましょう。f:id:sumtat:20170723145453p:plain

 

Excel Reader

作業場所にExcel Readerを持ってくるとこんな感じになります。

f:id:sumtat:20170723150149p:plain赤信号がでてますよね!

これは『何かしらおかしいことがあるよー』ということです。今回の場合、ビックリマークにマウスオンするか、右下のconsoleを見ると"No file location specified(ファイルが指定されてねーよ)"となっています。エクセルファイルを読むって言ってるのに、確かにまだどのファイルを読むのか指定していません。

ということで、読むファイルの指定など設定していきます。

どんなノードでも設定をする時は

  • 対象のノードを選択後(黒枠)、右クリック等でメニューを表示→ Configure...
  • 対象のノードをダブルクリック

のどちらかのアクションをします。

f:id:sumtat:20170723151514p:plain

すると設定画面が立ち上がってくるはずです。今回の場合は下のようになります。設定の内容はキャプチャに書きましたが、test.xlsxというファイルを指定しました。もし複数シートが存在する場合、シート名を選択することができます。画面の下部には指定したファイルの内容がプレビューされる仕様になっています。これでapply-OKとしてみあます。

f:id:sumtat:20170723153737p:plainExcel Readerの信号表示が黄色になりました。これで準備できたということです。早速実行してみます。画面上部の▶︎もしくは右クリックメニューのExecuteをクリックします。

f:id:sumtat:20170723154854p:plain

実行すると信号は青信号になります。これはうまく作業が完了しましたよという表示です。青信号になった後Excel Readerの右側から飛び出している三角にマウスオンすると読みこんだデータは何行(Rows)、何列(Cols)であったかを簡単に確認できます。また読みこんだ内容を確認するには実行時の▶︎のちょっと右側にある虫眼鏡アイコンもしくは右クリックメニュー内のOutput tableをクリックします。f:id:sumtat:20170723155631p:plaintest.xlsxの中身は確かにこんな感じです。しかしこのままでは、後の操作に不向きです。というのは【名前】【性別】【都道府県】などのカラム名が実際のデータと同列の扱いになってしまっています(それぞれCol0, Col1, Col2に属するデータとして)。これはExcel Readerの設定変更で解消できます。

f:id:sumtat:20170723160434p:plain再度Excel Readerの設定画面を開き、まずはTable contains column names in ro numberにチェックをいれます。何行目にカラム名に該当する項目が入っているかも指定します。設定を変更すると画面下部にリフレッシュしろという指令がでますので、従います(プレビュー内容が変更されます)。ここまでできたら再度Apply-OKです。Excel Readerは再度黄色信号になっていますので、前述と同様の方法で実行します。実行内容を確認すると、

f:id:sumtat:20170723160755p:plain【名前】【性別】【都道府県】がカラム名として扱われています。ちなみに各カラム名の前にある「S」マークは、各カラムの属性を示しており、今回の場合String(文字列)ですよーという意味になります。次回はこの状態から"男性のみを残す"などの加工について書いてみようと思います。