KNIME・EXCEL倉庫

KNIMEワークフローやEXCELマクロの備忘録。

KNIME

【KNIME】ファイルの情報を抽出したい

・ファイルの管理をする際に、ファイルのサイズや更新日時の情報を得たい場合がある。 ・Files/Filders Meta Infoというノードでそれができる。 ・情報を得たいファイルのパス情報を入力すると、ファイルのサイズ、最終更新日時、作成日時などの情報を出力し…

【KNIME】ファイルを動かしたい

・KNIMEでファイルを削除、コピー&ペースト、移動させたい。 ・削除する時⇒Delete Files/Foldersノードを使う。 ・例えばファイルを削除したい時は、ModeをFileにして、ファイルのパスを入力する。 ・ファイルのパスを変数で制御すれば、削除するファイルを…

【KNIME】chunk loopを使ってみたい

・Table Row To Variableを使うと、表を変数化して上の行から順番に渡すループを作ることができる。 ・変数化しなくて良いから、順番に数値を渡して欲しいと思う操作があった。 ・調べてみると、Chunk Loopというやつがそういうことをできるらしい。ちなみに…

【KNIME】writerを繰り返したい

・"Excel Writer"などの出力系ノードは、その先がない。 ・ループする際は、ループしたい領域をLoop StartとLoop Endで挟むが、Writer系のノードを繰り返したい場合はどうすれば良いか? ⇒ Loop Endで作った表は無視して、Loopで挟んだ領域からWriterを生や…

【KNIME】Matrix形式の表をList形式に整形したい。

・人間がデータを俯瞰する際には、Matrix形式の表(あくまでイメージだが、2つの従属変数、1つの目的変数に対して、従属変数の1つを縦に、もう1つを横に、目的変数を値として展開した表)で表現すると見やすい。 ・一方で、データベースなどを取り扱う際には…

【KNIME】Create Collection Columnでセルを纏めたい

・例えば、表から列を抽出する際に、"Column Filter"をよく使う。 ・flow variableで抽出する列を操作する場合に、ひとつの列を抽出するだけなら、適当に表を作成して"Table Row To Variable"ノードで変数化すれば良い。 ・複数の列を抽出したい場合はどうす…

【KNIME】特定のフォルダ中のすべてのEXCELファイルのすべてのEXCELシートを纏める

・いろいろな人が、同じフォーマットでEXCELシートのレポートを作成し、それが一つのフォルダに無造作に放り込んであるとする。 ・特定のフォルダ中のすべてのEXCELファイルのすべてのEXCELシートを纏めるワークフローを作りたい。 ・ついでに、データのソー…

【KNIME】enforce exclusionとenforce inclusion

・"column filter"などのノードの設定ウィンドウで、enforce exclusionとenforce inclusionを選ぶラジオボタンがある。 ・基本的に何も弄らずデフォルト(enforce exclusion)を使っていた。 ・元のデータが変わる際にエラーの原因になるようなので、忘れな…

【KNIME】データ登録ワークフロー(Loop)

・データ登録ワークフローでは、"Column Merger"を追加したいデータの種類(列数)の分だけ用意しなければならなかった。 ・追加したいデータの種類が登録するたびに変わったり、多くの種類のデータを一度に登録したい場合、このやり方には限界がある。 ⇒ Lo…

【KNIME】Flow VariableでColumn Filter

・Column Filterで表から列を抽出(又は除外)する際に、Flow Variableで列名を指定したい。 ・例えば、左下の表からVariables 1(a)という名前の列を抽出する場合、以下のように組むことがある。 ・この際に、単純に"Column Filter"の"Flow Variables"で”i…

【KNIME】データ登録ワークフロー

・キーとなる変数のリストを得た後に、順次データを追記する場合を考える。 ・例えば、キーとなる変数のリストとして、以下の表が与えられたとする。 ・First NameとLast Nameをキーに人物を一意に定義し、後からBirthplace、Age及びAnnual Incomeの情報を追…

【KNIME】Column Mergerのいろいろ

・"Joiner"でくっつけた列を統合し、すっきりさせたい。 ・列をまとめるには"Column Merger"を使うが、設定に少し癖があるので、メモしておく。 ・今回統合したい表↓。score(#1)列のデータを、score列にまとめたい。ただし、Group bのID2のデータがそれぞれ…

【KNIME】joinerのいろいろ

・キーとなる列の値を使って、2つの表をくっつけるのが"Joiner"ノード ・くっつけ方にもいろいろ癖あるので、メモしておく。 ・今回は、上の表に下の表をくっつけるだけのワークフローを考える。 ・上の表 ・下の表 ・GroupとIDの両方をキーに、2つの表を…

【KNIME】ワイルドカードと正規表現

・"Row Filter"などのノードを使う際に、条件に合うものすべてを選択する(又は除外する)という必要が出る場合がある。 ・そのようなケースで便利なのが、ワイルドカードと正規表現。 ・ワイルドカードは、どんな対象文字列でもマッチする代わりになる記号…

【KNIME】特定のEXCELファイルの特定のシートを読み込む

・一つのEXCELファイルの中に、データを収集したいシート以外のデータが入っていることがある。 ・この場合、EXCELファイルのすべてのシートをループで読み込んでは都合が悪い。 ⇒ データを読み込むシートを絞り込む必要がある。 ・例えば、4枚のシート「1_…

【KNIME】特定のEXCELファイルのすべてのシートを読み込む

・特定のEXCELファイルの特定のシートを読み込みたいなら、"Excel Reader"ノード内で指定してやれば良い。 ・EXCELファイルを指定するだけして、ファイル中のシートをすべて読み込むにはどうすれば良いか? ⇒ シート名を変数化し、Loopで順番にすべてのシー…

【KNIME】表の情報を抜き出す

・表の情報を抜き出したいことがしばしばある。 【表の行列数を抜き出す】 ・"Extract Table Dimension"というノードを表のあとにくっつける。 ・"Number Rows"で〇行、"Number Columns"で☆列の行列であることが分かる。 ・データ数を抽出したり、ループ回数…

【KNIME】検索ワークフロー

・CSVやEXCELの表から、特定のキーに対応するデータを抜き出したい。 ・キーの入力も一覧表でやりたい。 ・キーを複数設定できればなお良い。 ・データ抽出の式を ($ID$=$${IID}$$)=>TRUE にしているが、ANDで条件を繋げば複数キーでも対応可能。 ・ワークフ…

【KNIME】ワークフローを纏める

・いろいろなノードを組み合わせてワークフローを作ると、ごちゃごちゃしがち。 ・たくさんのノードを前止めて一つのノードにする"metanode"という機能がある。 ・ウインドウ左上の緑のプラスマークをクリックすると、metanodeを選べる。 ・ポートの設定など…

【KNIME】ポートを増やせる

・前のノードからデータなどを受け取るポート(黒三角とか)は増やせることがある。 ・Appender系のノードやReader系のノードは対応していることがある。 ・Column Appenderの例 ・左下の「・・・」マークをクリックすると、Column Appenderの場合は、"Add i…

【KNIME】データ型

・KNIMEでデータを渡したり、変数として指定する際に、データの型を用途に合わせる必要がある。 【よく使うデータ型】 ・string:文字列。汎用性が高い。空欄とかもデフォルトで文字列と解釈される。 ・integer:数字(整数)。Javaだと32ビットなので、だい…

【KNIME】ノードのいろいろ

・ノードの名前が英語で今一つ覚えられない。 ・よく使うノードを、用途別にまとめたい。 【ノードの検索】 ⇒ 左下にある"Node Repository"ってところにある虫眼鏡のところでノードを検索できる。 ⇒ ノードの種類があまりに多くて目視で探せないので、検索で…

【KNIME】ノードに関して

・KNIMEでは「ノード」と呼ばれる簡単な処理ができるブロックをくっつけて、複雑な処理を実行する。 ・ノードはめっちゃたくさんの種類がある。 ・例えば、このノードは表を作るだけのノード。 ・ダブルクリックすると詳細を編集できる(この場合は表の中身…

【KNIME】KNIMEに関して

日本語の説明サイトさん knime-infocom.jp ・無料版(KNIME Analytics Platform)と有料版(KNIME Server)がある。 ・無料版はインストーラーをダウンロードして、個人のPCで使える。 ・有料版はサーバ上で動き、組織で使える。 ⇒ 個人の業務効率化なら、無…