Google Drive
Googleドライブから変数へロード
概要
このブロックは、Googleドライブ上のファイルを読み取り、その内容を変数に格納(ロード)します。このブロックを利用することで、Googleドライブ上のファイルのデータを他のさまざまなブロックで活用し、多様なデータ処理や分析タスクを実行できます。
Googleドライブ上のファイルは、そのまま読み込むこともできますが、「ファイル形式」プロパティを適切に設定することで、他ブロックの利用に即した形式へ変換して読み込むこともできます。
ファイル形式 | 説明 |
---|---|
(none) | ファイル内容をそのまま変数に格納します。 |
バイナリ(Base64) |
ファイル内容をBase64でエンコードして、変数に格納します。 ヒント |
JSON | ファイル内容をJSON形式で解析し、オブジェクトに変換して、変数に格納します。 |
CSV |
ファイル内容をCSV形式で解析し、オブジェクトに変換して、変数に格納します。CSVファイルの各フィールドは、オブジェクト変換時にすべて文字列として扱われます。 CSVの形式は、以下のようなフィールド名を持つヘッダー行があることを前提としています。フィールド名を持つヘッダー行とは、他の行と同じ個数のフィールドを持ち、フィールドの名称が列挙されている行のことです。 field_name_1,field_name_2,field_name_3 aaa,bbb,ccc xxx,yyy,zzz この形式のCSVを読み込むと、以下のようなオブジェクトが変数に格納されます。 [ { "field_name_1": "aaa", "field_name_2": "bbb", "field_name_3": "ccc" }, { "field_name_1": "xxx", "field_name_2": "yyy", "field_name_3": "zzz" } ]
情報
「モデルジェネレーター予測(オンライン)」ブロックを使って数値分類や数値回帰を行う場合は、以下のようにキー用のフィールドの名称を key,sepal_legth,sepal_width,petal_length,petal_width 1,5.9,3.0,4.2,1.5 2,6.9,3.1,5.4,2.1 3,5.1,3.3,1.7,0.5 数値はすべて文字列に変換されますが、「モデルジェネレーター予測(オンライン)」ブロックでは、数値を文字列としたデータも受け付けるため、問題ありません。 |
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 | ブロックの名前を指定します。ブロックに表示されます。 |
GCPサービスアカウント |
このブロックで使用するGCPサービスアカウントを選択します。 |
ファイル名 |
ファイルを指定します。ここで指定したファイルの内容が変数に格納されます。 ファイルへのURLも指定可能です。URLは、共有リンクおよびファイルのURL(ウェブブラウザーのアドレス欄に表示)のどちらも指定可能です。 |
ファイルデータを格納する変数 | 読み込んだファイルの内容を格納する変数を指定します。 |
ファイル形式 |
読み込むファイルの形式を[(none) /バイナリ(Base64) / JSON / CSV]から選択します。 |
ブロックメモ | ブロックに対するコメントを指定します。 |
CSVの区切り文字 |
[ファイル形式]プロパティが[CSV]の場合、CSVファイルの区切り文字を[カンマ(,) /タブ/パイプ(|) /その他]から選択します。 [その他]を選択した場合は、[その他]の横の入力フィールドに、区切り文字を指定してください。 |
読み飛ばし行数 | [ファイル形式]プロパティが[CSV]の場合、先頭から何行を読み飛ばすかの行数を指定します。 |
クオート記号を指定 | [ファイル形式]プロパティが[CSV]の場合、フィールドを囲むためのクオート記号を指定します。 |
使用例
この使用例では、GCSに配置されたCSVファイルを自動的にGoogleドライブにコピーし、そのファイルを読み込んでGoogleスプレッドシートに反映するフローを紹介します。このフローにより、GCSからGoogleスプレッドシートまでのデータ処理を完全に自動化できます。
補足
この使用例で示すブロックの設定値は、理解を助けるためのサンプルです。実際の利用に際しては、ご自身の環境やニーズに合わせて適切に変更してください。また、各ブロックの説明では、変更が必要な主要な設定項目のみを記載しています。デフォルト値のままで問題ない項目や、特に言及のない設定項目は省略しています。フローを構築する際は、各ブロックの全ての設定項目を確認し、必要に応じて調整することをお勧めします。
フローの概要は以下の通りです。
- GCSの特定バケットに新しいCSVファイルが配置されたらフローを自動的に開始
- GCS上のファイルをGoogleドライブにコピー
- コピーされたファイルの内容を変数に読み込む
- 読み込んだデータをGoogleスプレッドシートの「RawData」シートに反映
- 処理完了をSlackで通知
このフローの実装例は、以下のとおりです。
- 「フローの開始」ブロックで、GCSに新しいCSVファイルが配置されたときにフローが実行されるよう設定します。
プロパティ名 値 ID drive-load-var-flow
ブロック名 Googleドライブから変数へロードの使用例
GCSへのファイル配置をトリガーとするように設定します。
プロパティ名 値 Google Cloud Storage(GCS)上にファイル/フォルダを配置したときにフローを実行する バケット アップロード先のGCSバケットを設定 フォルダ名/ファイル名 block-reference-example/drive-load-var/*.csv
- 「GCSからDriveへファイルコピー」ブロックで、GCS上のファイルをGoogleドライブにコピーします。
プロパティ名 値 コピー元ファイルのGCS URL ${gcs_path}
コピー先のフォルダURL https://drive.google.com/drive/folders/1ABC...XYZ?usp=drive_link
コピー先ファイルURLを格納する変数 drive_file_url
- 「Googleドライブから変数へロード」ブロックで、コピーされたファイルの内容を変数に読み込みます。
プロパティ名 値 ファイル名 ${drive_file_url}
ファイルデータを格納する変数 csv_data
ファイル形式 CSV
- 「スプレッドシートを更新」ブロックで、読み込んだデータをGoogleスプレッドシートの「RawData」シートに反映します。
プロパティ名 値 ファイル名 https://docs.google.com/spreadsheets/d/1ABC...XYZ/edit?usp=sharing
ワークシート名 RawData
出力データの変数 csv_data
開始セル(A1形式) A1
開始セルを基点に全てのセルをクリアする チェックを入れる - 「Slack通知」ブロックで、処理完了を通知します。
プロパティ名 値 Webhook URL https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
通知メッセージ 新しいデータの処理が完了しました。スプレッドシートが更新されています。
完成したフローは以下のとおりです。
Googleスプレッドシートの事前設定は以下のとおりです。
- 「RawData」シート:
- シートの作成のみ。事前設定不要。
- このシートは「Googleドライブから変数へロード」ブロックで読み込んだCSVデータをそのまま格納するために使用。
- 「集計データ」シート:
- A1セル:
=ARRAYFORMULA(RawData!A1:D1)
を入力してヘッダーを参照。 - A2セル:
=ARRAYFORMULA(IF(RawData!A2:A="","",DATEVALUE(RawData!A2:A)))
- B2セル:
=ARRAYFORMULA(IF(RawData!B2:B="","",RawData!B2:B))
- C2セル:
=ARRAYFORMULA(IF(RawData!C2:C="","",VALUE(RawData!C2:C)))
- D2セル:
=ARRAYFORMULA(IF(RawData!D2:D="","",VALUE(RawData!D2:D)))
- この設定は、「Googleドライブから変数へロード」ブロックがCSVファイルの各フィールドを文字列として扱うことへの対策。数値や日付を適切なデータ型に変換し、分析や可視化に適したフォーマットに整えるためのもの。
- A1セル:
- 「ダッシュボード」シート:
- 集計データシートのデータを使用したピボットテーブルやグラフの作成。
この設定の重要性は以下のとおりです。
- 「RawData」シート:元データの保持と参照性の確保。データ整合性の維持と過去データの追跡を実現。
- 「集計データ」シート:RawDataの文字列データの適切なデータ型への変換。正確な計算、ソート、フィルタリングによるデータ分析精度の向上。
- 「ダッシュボード」シート:変換データを用いた視覚化。意思決定者による正確かつ即時的なデータ把握の実現。
この3層構造(Raw Data → 集計データ → ダッシュボード)により、データの整合性を保ちながら、効果的な分析と可視化を実現しています。また、この構造はデータの更新や修正が必要な場合にも柔軟に対応できる利点があります。
以下は、このフローによって生成されるダッシュボードの例です。
このダッシュボードは、日次売上トレンド、カテゴリー別売上比率、商品カテゴリーごとの売上金額、販売数量と平均単価の相関など、重要な販売データを視覚化しています。これにより、ビジネスの意思決定者は迅速にデータを解釈し、戦略的な判断を下すことができます。
この設定により、GCS、Googleドライブ、Googleスプレッドシートを効果的に連携させ、データの取り込みから処理、可視化までの一連のプロセスを自動化できます。ユーザーはデータの分析や意思決定に集中でき、データ処理の効率が大幅に向上します。