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

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

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

【KNIME】気休め程度に体裁を整えたエクセルファイルを吐き出す

 4ヶ月ぶりの更新です。新年度を迎え、皆様はいかがお過ごしでしょうか?進学, 入社された方、部署の異動があった方などもいらっしゃるかと思います。周囲の環境が変わると、様々な要因から体調を崩してしまうこともあると思います。まずは健康に毎日を過ごしていきたいものですね。

 私は、ストレス解消の為に(?)最近中古マシンを買いました。hpのz420というワークステーション。送料込みで34kでした。これにcentos7を入れてオモチャにしています。condaやdocker入れたり、nvidiaのドライバ入れたり…。1年くらい前には思いつきもしないような事柄です。色々見ていると、最近ではconda activateが推奨なんですね。PATHもanacondaのbinに通すんじゃなくて、source conda.shにしときなよーみたいなことがCHANGELOGに書かれてたりして。物事の変化はとても速いなぁということと+documentはちゃんと読もうと感じた今日この頃です。

 で、この中古マシンにもKNIMEを導入したのですが、その時に「あれー、見たことないnodeがあるぞ」と思ったので、ちょっと触ってみました。

Continental (Community Nodes)

f:id:sumtat:20190414204546p:plain

https://www.knime.com/community/continental-nodes-for-knime

先月追加されたようです。使ってみたい場合は"File > Preferences > Install/Update > Available Software Sites"にhttp://update.knime.com/community-contributions/3.7がリストに入っている&Enabledになっていることを確認の上、"File > Install KNIME Extensions..."と進めていけばnodeをインストールできると思います。ピンポイントで入れたければ、検索窓に"continental"とか入れれば、ひっかかってくるはずです。

f:id:sumtat:20190414205410p:plain

さて、1点気が付いたのですが、mac版だと上手くインストールできないみたいです(2019/04/12)。理由はよくわからんです。win, linuxは導入できることを確認しました。

これで、どんなことをやってみるかというと

f:id:sumtat:20190414223338p:plain
f:id:sumtat:20190414223349p:plain
左図を右図みたいににする

ということです(office入れてないんで、キャプチャはLibreOfficeです)。では流れをささーっと紹介していきますねー。

 全体像

こんな感じです。

f:id:sumtat:20190414224215p:plain

幅揃えて、中央寄せして、ちょっと色付けたり太字にするだけで、こんなにめんどくせーの?って感じですが、ルーチンでこういう作業が必要な環境に置かれれば役立つかもしれせんね。それでは細かい部分です。

一旦書き出しと、変換後のファイルパス作成

今回の流れでは、一旦フォーマットが指定されていないファイル(前述の左図)を作って、それを変換するという工程が必要になります。なので一旦Excel Writerで内容を書き出しておいて、それを変換した後のファイルパスを作っています。

f:id:sumtat:20190414225300p:plain

今回の記事用に手入力でデータ作成(Table Creator)

f:id:sumtat:20190414225453p:plain

一旦書き出し。create variableを指定しているのがポイント

f:id:sumtat:20190414225617p:plain

上図の変数outputの文字列をいじって、変換後のファイルパスを作成

ここまでで「何言ってるのお前?」という感じであれば、過去記事1過去記事2などをご覧になっていただければと思います。

タグ付け

continental nodeでフォーマットをいじるときには、どこをいじるのか?というタグを付ける仕様になっています。カンマで区切ってタグをつけるというスタイルのようです。

f:id:sumtat:20190414230859p:plain
f:id:sumtat:20190414230909p:plain
headerというタグをつけました(左:設定、右:結果)

f:id:sumtat:20190414231127p:plain

ヘッダ(column name)を取ってきた結果

Column Rename (Regex)に関しては、リンクの過去記事を参考にしてください。

XLS Control Table Generator

次に表題のノードつなげます。これを繋げないと、書き出すエクセルのフォーマットをイジれません。これを繋いだら、やりたい作業を羅列していくだけです。

f:id:sumtat:20190414231829p:plain
f:id:sumtat:20190414231841p:plain
幅指定(今回はオート)と中央寄せ
f:id:sumtat:20190414231927p:plain
f:id:sumtat:20190414231939p:plain
ボールドとセルの背景色

今回は全てheaderタグに対して処理を行っています。このパートにたどり着く前に、他のタグを用意しておけば、細かくレイアウト設定をすることができます。

書き出し

f:id:sumtat:20190414232235p:plain
f:id:sumtat:20190414232244p:plain
最後の書き出し。パスを変数で指定しています。

最後にXLS Formatter(apply)を繋げて、実際にフォーマットを指定したファイルを書き出します。上書きしてもいいよ+inputとoutputのパスが同じにすれば、体裁を整えたファイルだけが残ります。

 

 いががでしたか?なるべく専門的になりすぎず、一般的な使い方で何か使えるものがないかなーと思って取り上げた内容でした。

ちなみに、今回のサンプルデータにした本のタイトルは、私が最近読んだマンガです。どれも面白かったので、コメント付けておきます。息抜きにどうぞ! 

 久しぶりにラブコメ読んだわ。予想以上に面白かった!ウルトラロマンティック。

 

 5巻で完結です。伏線をしっかり回収した綺麗なストーリーでした。

 

 安定のダンジョン飯。1年ぶりの新刊!

 

 いつか読んでみようと思っていましたが。やや癖はありますが、悪くないです。

 

KNIMEの話も書いていきますが、読んだ本(マンガだけじゃないですよー)や育児の話などなど、気楽な記事も書いていこうと思ってます!

 

では、また次回!!!