KNIME・EXCEL倉庫

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

【その他】タグでファイルを管理したい。

・ファイルを管理する際に、これまでフォルダの階層構造で管理していた。

・同じ階層のフォルダの属性が背反でない場合、管理に苦慮し、結局親フォルダに直接ファイルを放り込むような状態になっていた。

・調べてみると、Win10ではファイルをタグ管理できるものもあるらしい(すべて種類のファイルでできるわけではないのが残念)。

・適当にEXCELファイルを作成し、プロパティを見てみると、確かにタグの項目があった(下図)。

f:id:choron81:20210703234606p:plain

・タグの値のところをクリックすると、タグを入力できるようになる。一つタグを入力すると、続きに自動でセミコロンが入る。複数のタグはセミコロンで区切って列挙できるらしい。

・PDFファイルにタグをつけようとしたところ、この方法では設定できなかった。何らかのやり方があるのかもしれないが、残念。。

 

終わり。

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

・ファイルの管理をする際に、ファイルのサイズや更新日時の情報を得たい場合がある。

Files/Filders Meta Infoというノードでそれができる。

・情報を得たいファイルのパス情報を入力すると、ファイルのサイズ、最終更新日時、作成日時などの情報を出力してくれる。

・List Files/Foldersノードでパスを抽出し、Files/Folder Meta Infoノードに渡すと、指定したフォルダ内のファイルの一覧情報を得ることができる。

・ついでに、List Files/FoldersからPath to String、URL to File Pathに渡すと、ファイルのパスから親フォルダ名、ファイル名や拡張子などを抽出してくれる。

 

終わり。

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

・KNIMEでファイルを削除、コピー&ペースト、移動させたい。

 

・削除する時⇒Delete Files/Foldersノードを使う。

f:id:choron81:20210703230151p:plain

・例えばファイルを削除したい時は、ModeをFileにして、ファイルのパスを入力する。

・ファイルのパスを変数で制御すれば、削除するファイルを制御することもできる。

・Abort if delete failsのチェックで、削除に失敗した場合、ノードの処理を停止するか、削除に失敗した旨を返してノードの処理を完了させるか選ぶことができる。

・このノードの出力は、先のチェックを入れていれば「消したファイルのパス」、チェックを入れていなければ「消したファイルのパス+削除できたか否か」になる。

 

・コピー&ペースト、移動させる時⇒Transfer Filesノードを使う。

f:id:choron81:20210703231144p:plain

・例えばファイル一つだけをコピペ又は移動する時は、Fileを選択し、元ファイルのパスを入力し、新たにファイルを作るフォルダを指定してやれば良い。

・この際に、Files in Foldersを選択し、フォルダを指定してやると、フォルダ中のファイルがすべてコピペ又は移動の対象になる。

・同じ名前のファイルが新たにファイルを作る先にある場合は、上書きするかコピペ又は移動しないか処理を中断するか選択できる。

・Optionsのところで、移動元のファイルを消すように設定すると、処理をコピペにするか移動にするか選択できる。

 

終わり。

 

 

 

 

【その他】プリントスクリーンを便利に使いたい

・PCの画面をそのまま写し取るプリントスクリーンという機能がある。

・キーボードの右上などに、PrtScキーがあり、これを押すと今映っている画面全体が写し取られる

・全部写すにはこれで十分なのだけれど、デュアルディスプレイの際にこれをやると、意図しない写し取られ方をしたりする。それを防ぎたい。

alt + PrintScキーで、アクティブウィンドウだけ写し取ることができる。

Shift + Winキー + sでプリントスクリーンモードを起動し、カーソルで写し取る領域を選択することができる。

・覚えておくと結構便利。

 

終わり。

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

・Table Row To Variableを使うと、表を変数化して上の行から順番に渡すループを作ることができる。

・変数化しなくて良いから、順番に数値を渡して欲しいと思う操作があった。

・調べてみると、Chunk Loopというやつがそういうことをできるらしい。ちなみに、Chunkは「かたまり」とかいう意味らしい。

・Chunk Loopの設定画面は以下の通りで、Rows Per ChunkとNo. of Chunkをラジオボタンで選び、それぞれの数を入力する。

f:id:choron81:20210620110120p:plain

・デフォルトはRows Per Chunkで、1に設定されている。これで実行すると、以下のように出力される。各Iterationで、上から順番に1行ずつ取り出されてPileされた。

f:id:choron81:20210620110510p:plain

・例えば、Rows Per Chunkを3に設定すると、以下のように出力された。各Iterationで3行ずつ行が取り出されてPileされた。全部で10行あるので、最後のIterationでは1行だけ出力された。

f:id:choron81:20210620110746p:plain

・次に、No. of Chunkを試してみた。デフォルトの1だとつまらないので、3と入力してみた(下図)。3回のIterationですべての行をPileするという意味らしい。4,4,2行抽出し、3 Iterationですべての行がPileされた。

f:id:choron81:20210620111233p:plain

・上から順番に、何行か、何回かに区切ってデータを渡したい時に使えそう。

 

終わり。

 

 

【EXCEL】日付の表示を変更したい②

・日付の表示に関して記事を書いていて、ふと思った。

・「yyyyが西暦4桁なのは、恐らくyear4桁という意味だろう。mはmonthだし、dはdayだろう。ほかのアルファベットにも意味が割り振られているのではないか?」

・日付を入力し、a~zまで試してみたところ、a,d,g,m,r,yには日付の表示形式として意味があてがわれているらしい。また、いくつ繋げるかによって意味が変わるようだ。

・セルには、2021/1/11と入力し、表示形式をそれぞれの文字、それぞれの回数で弄ってみた(下図)。

f:id:choron81:20210612225749p:plain

EXCELのバージョンによって動作が異なる可能性があるので、あくまで参考程度だが、曜日和名、曜日英名、元号月英名、和暦を割り振られているらしい。

・aaaで曜日和名(略)、aaaaで曜日和名(正式)

・d,ddで日付、dddで曜日英名(略)、ddddで曜日英名(正式)

・gで元号(イニシャル)、ggで元号(略)、ggg元号(正式)

・m,mmで月、mmmで月英名(略)、mmmmで月英名(正式)

・rで和暦(年だけ)、rrで和暦(正式)

・yは西暦

・を表示するようだ。

 

・ちなみに、表示形式をtext関数で指定することも可能。

 

終わり。

【EXCEL】日付の表示を変更したい

EXCELの日付の表示形式を変更したい。

EXCELの日付のデフォルトの表示形式は、「西暦4桁/月/日」になっている(2021/1/11など)。

・以下で、入力を2021/1/11として、いろいろな日付の表示形式を作成する方法をメモしておく。

・2021年1月11日のように表示するには、「セルの書式設定」⇒「表示設定」タブ⇒「分類」⇒「日付」から、それっぽい表示形式を選択すれば良い。

・イレギュラーで、2021/01/11のように表示させたい場合は、ユーザー定義でyyyy/mm/ddと指定してやれば良い。こうすることで、西暦4桁/月2桁/日付2桁で表示してくれる(下図)。

f:id:choron81:20210612214345p:plain


・ちなみに、yy/mm/ddとすると、西暦下2桁/月2桁/日2桁で表示してくれる。西暦4桁だけ表示するなら"yyyy"などで十分。

・日本語で単位を入力したいのなら、yyyy"年"mm"月"dd"日"とすれば、2021年01月11日になる。

 

・何らかの都合で表示を変更したい場合に便利。

 

終わり。