決まったパターンの文字列を含むファイル名のファイルの中身を一挙に読み込みたいときの例
直接指定するケースと、変数で指定するケース(ディレクトリ及びファイル名を可変にしたい場合を考慮した)の2つを紹介
使用Node:CSV Reader / Variable Creator / String to Path
- WFの例と解説
- 上:【CSV Reader】正規表現を含んだファイル名の指定
- 下:【Variable Creator】使いたい値を変数にする
- 下:【String to Path】ディレクトリをPath化
- 下:【CSV Reader】変数をNodeに設定
WFの例と解説
ファイル名に文字列「ROME」を含む複数ファイルの中身を一気に読み込む
上:【CSV Reader】に直接文字列を指定
下:【CSV Reader】に変数にした文字列を設定
※上も下も結果は同じで、普通に文字列で指定するバージョンと、変数で指定するバージョンを示した
※今回はbool値の作成にNode【boolean configuration】は使用しないが深い意味はない
▼配置例▼
▼参考:読み込むフォルダの中身▼
上:【CSV Reader】正規表現を含んだファイル名の指定
けっこうシンプル、黄色の線の部分をそれぞれ設定してゆけば完了、「case sensitive」のチェックの有り無しは必要に応じて
▼Node設定例▼
下:【Variable Creator】使いたい値を変数にする
変数を以下の4つ作成した
1.bool型:true
2.bool型:false
3.string型:正規表現を含んだファイル名
4.string型:ディレクトリ
▼Node設定例▼
下:【String to Path】ディレクトリをPath化
4つ目の変数であるファイルのディレクトリのみ、データ型をPathに変更
※理由はわからないが、outputでPath化したデータを排出するカラム名には文字を付加しないといけないようである
▼Node設定例▼
下:【CSV Reader】変数をNodeに設定
まずは、settingタブで「Files in folder」を選択
その後、FlowVariableタブで以下の画像のように各種変数をNodeに設定
▼Node設定例▼
処理結果が、上の経路と下の経路で同じになるか確認してみる
Node【FIle Reader】も同じ要領で使用してみれば、いろんな種類のファイルを一気に読み込めるのやもしれない
各種Reader Nodeで同じような設定を試せるのかとおもう
▼KNIME Hub▼
hub.knime.com
アップしたとたんにDLされた…( ゚Д゚)謎