- はじめに
- 覚えてほしいこと
- やりたいこと
- 事前準備
- Google Sheets Reader / Google Sheets Writer の使い方
- ちょっと一言
- おわりに
- KNIMEに関する本
- 参考リンク
はじめに
今回は、KNIMEでGoogle Spread Sheetを読み込んで書き出してみたいと思います。グーグルスプレッドシートを使えればOfficeのライセンスがなくても使えるのでとても便利ですよね!
今回のテーマ ~Google Sheets~
workflowは下記からダウンロードできます。
覚えてほしいこと
Google Spread SheetもExcelも使い方は変わらない
やりたいこと
今回は、Google Drive上においたGoogle Spread Sheetを読み込んで、初級編で行った作業と同じことをやりたいと思います。
Joinerで行った作業までです。
事前準備
Googleスプレッドシートを用意
事前に社員表と勤怠表のスプレッドシートを用意しておきました。
マイドライブ>Blog>KNIME InputFiles
という階層にファイルを保存してあります。
リンクを貼っておきますので、参考にしてみてください。
SampleData_勤怠表 - Google スプレッドシート
SampleData_社員表 - Google スプレッドシート
Google Authentificationでアカウント認証
これは前回やった内容です。 Configureのスクリーンショットだけ載せておきます。
Google Sheets Connectionでスプレッドシートを読み込みます宣言
Google SheetのReaderやWriterを使用する前に、Google Sheets ConnectionというNodeを使用して、Google スプレッドシートを使いますよーという宣言が必要です。
ただ繋ぐだけで、何も設定は必要ないです。
Google Sheets Reader / Google Sheets Writer の使い方
Google スプレッドシートを読み込む・書き込むためのNodeです。
Install - 前準備
このNodeはデフォルトではインストールされていません。追加でインストールする必要があります。まだこんなNode、自分のKNIMEにはないぞ!?と言う方はまず先に下記の記事をご覧ください。
Workflow
注目していただきたいのは、黒い矢印になってからは、Excelの処理と同じという点です。
ファイルがCSVであれ、Excelであれ、Googleスプレッドシートであれ、一旦KNIMEに読み込んでしまえば、同じWorkflowでOKという点が非常に便利ですよね。
Google Sheets Readerは、Google Sheets Connectionと繋ぐだけです。
Google Sheets Writerは、書き出したいTableを繋ぐとともに、Google Sheets Connectionに繋いでください。
もし他のアカウントのマイドライブ上に出力したい場合は、別のGoogle AuthentificationとGoogle Sheets Connectionを用意してください。
Confirm
Confirm - Google Sheets Reader
Google Sheets ReaderのOutputをお見せします。Excelの時と見比べてみてください。全く同じだと思います。
Confirm - Google Sheets Writer
書き出される場所は、マイドライブ直下になります。
Configure - Google Sheets Reader
まずはGoogle Sheets Readerです。解説する部分はExcel Readerより少ないです。
Step1 - SpreadSheet - 読み込みたいスプレッドシートを選択
まずは読み込みたいスプレッドシートを選択します。
Selectをクリックすると、階層に関係なく、認証したアカウントが閲覧権限を持っているGoogleスプレッドシートが全て表示されます。
Step2 - Sheet 読み込みたいシートを選択
次にSheetを選択します。Sheet名の部分をクリックすると、ドロップダウンで選択することが可能です。
また、Open in Browserをクリックすると、ブラウザでStep1で選択したスプレッドシートを開くことができます。
Step3 - Option 読み込みたい部分を選択
最後に読み込みオプションです。下記がそれぞれの意味です。
- Range - 読み込み範囲を指定できます。(例 "A1:G20")
- Has column Header - 列ヘッダが1行目にある場合、チェックを入れます。
- Has Row Header - 行ヘッダが1列目にある場合、チェックを入れます。
Configure - Google Sheets Writer
次にGoogle Sheets WriterのConfigureをみていきます。基本的には、Excel Writerと変わりません。
Step1 - SpreadSheet Settings - ファイル名の指定
まずはファイル名とシート名を指定します。
Step2 - Write Settings - 出力設定
次に出力設定です。下記がオプションです。
- Add column header - 列ヘッダを出力したい場合チェックを入れます。
- Add row header - 行ヘッダを出力したい場合チェックを入れます。
- For missing vlaue write - 欠損値を特定の値で埋めたい場合はここに入力します
Step3 - 出力コラムの設定
最後に出力したいコラムを設定します。出力したいコラムをIncludeの方に移しましょう。
Open Spread Sheet after executionにチェックを入れると、出力完了した後に自動的にスプレッドシートを開きます。
ちょっと一言
共有されたスプレッドシートも読み込める
上にも書きましたが、マイドライブにあるスプレッドシートだけでなく、自分がRead権限を持っているスプレッドシート(自分に共有されたスプレッドシート)であれば読み込めます。
例えば、下記の海外ノーコードツール一覧というスプレッドシートは、閲覧権限のみ付与されていただいたものですが、読み込むことができます。ちなみにこの一覧にはKNIMEは載っておりません笑
デメリット・分からなかった点
下記の点、私は分からなかったのですが、知っている方いたら教えてください。2021年3月現在下記の点ができませんでした。
上書き保存ができない
上書き保存したかったんですが、なぜか実行のたび同じ名前で新しくファイルが生成されていきます。
解決した方、コメントお待ちしております。
指定のパスに書き出せない
指定の階層に出力できないです。
例えば、マイドライブ下のBlogというフォルダの下に書き出したいと思っていても、マイドライブ直下のフォルダにしか書き出せないようです。
おわりに
お疲れ様でした。長々と解説しましたが、結局Excel Readerと同じですし、むしろ簡単ですよね。スプレッドシートを使えば他人と共有できるのもいいですよね。
ぜひ使ってみてください!また私の分からなかった部分、ご存知の方ぜひコメントお待ちしております。
ではまた!
余談
先週の土日は全てエヴァンゲリオンに費やしました。。ついに完結ということできちんと前回までの話と解説を見た後に劇場版を見にいきましたが、こんな奥が深かったのか!と感動してます。
高校の時だったかに見た記憶があるんですが、その時は全然意味わかってませんでした。ロボかっこいいなーくらいですね。これを大人になって見ると、内容がかなり理解できたので楽しみ方が全然違いました!自身の成長を感じました笑
ぜひ昔観て分からなかった方、全然観たこともない方、一度一気観してはどうでしょうか。
Prime会員であれば無料で視聴できますよ!
KNIMEに関する本
KNIMEに関する日本語の本って今これくらいしかないと思うんですよね、、
本がいいなーと言う人はぜひ試してみてください。
参考リンク
- KNIME公式Node Pit(英語):
KNIME Google API Nodes [Plugin] — NodePit
- KNIME Example Workflow(英語):