「各店舗から送られてくる日報のCSVデータを、毎月1つのファイルにまとめるのが苦痛…」
ファイルを開いてはコピーし、一番下までスクロールして貼り付ける。単純作業ですが、ファイル数が数十個になると膨大な時間がかかりますし、貼り付けミスも起こりやすくなります。
この記事では、KNIMEを使って特定のフォルダに入っている複数のCSVファイルを一発でガッチャンコ(縦に結合)する、魔法のようなテクニックをご紹介します。
CSV Readerノードの隠し機能を使う
KNIMEでCSVファイルを読み込む時には、「CSV Reader」というノードを使います。
通常は1つのファイルを選ぶために使いますが、実はこのノードの初期設定を少し変更するだけで、フォルダの中にあるファイルを全部まとめて読み込んでくれる最強のツールに化けるのです。
複数ファイルを一括で読み込む手順
まずは、まとめたいCSVファイルをすべて1つのフォルダ(例:今月の売上データ、というフォルダ)に集めておいてください。
- ノードを配置:画面左側の「+(Add node)」から検索窓を開き、「CSV Reader」と入力して真ん中のキャンバスに配置します。
- 設定画面を開く:CSV Readerノードをダブルクリックして設定画面を開きます。Modern UIでは、設定画面が右側にスッと表示されたり、中央にポップアップしたりします。
- 読み込みモードの変更:設定画面の一番上にある「Mode」という項目に注目してください。最初はFile(単一ファイル)になっていますが、これを「Files in folder」に変更します。
- フォルダを指定する:すぐ下にある「Browse」ボタンを押し、先ほどCSVファイルをまとめたフォルダを選択します。
- フィルタ設定(任意):もしそのフォルダの中にCSV以外のファイル(エクセルやテキストファイルなど)が混ざっている場合は、Filter optionsの拡張子の部分に「.csv」と入力しておくと、CSVだけを賢く拾ってくれます。
実行ボタンを押すだけで結合完了
設定が終わったらOKを押し、キャンバス上のCSV Readerノードにマウスを乗せて、緑色の実行ボタン(Execute)をクリックしてください。
これだけで、フォルダ内のすべてのCSVファイルが縦に綺麗にくっついた状態のデータが完成します。ノードの右側の三角マークをクリックして、データがきちんとまとまっているか確認してみましょう。
あとは、その右側に「Excel Writer」ノードをつないで出力すれば、コピペ作業ゼロでまとまったエクセルファイルが出来上がります。
別の表を横にくっつけるJoinerノードの使い方と組み合わせれば、バラバラのデータを縦にまとめてから、商品マスタを横に紐付けるという高度な処理も完全自動化できます。
ぜひ、毎月のコピペ作業をKNIMEに任せて、有意義な時間を作り出しましょう。
