Posted at

[Power Query] Googleドライブに保存したファイルを読み込む

ローカルドライブ上のCSVファイルをPower Queryで読み込むときは「テキストまたはCSVから」というコネクタが用意されていますが、Google ドライブ上に保存したCSVファイルを読み込む場合はどうすればよいか説明します。

ちなみに OneDrive の場合は、公式ヘルプにやり方が説明されています。

https://docs.microsoft.com/ja-jp/power-bi/desktop-use-onedrive-business-links


方法

2019-11-07.png

「データを取得」で「Web」コネクタを選択し、先ほどコピーしたリンクを貼り付けます。

2019-11-07 (1).png

URLのhttps://drive.google.com/open?id=xxxx/open/ucに書き換えて「OK」を押します。https://drive.google.com/uc?id=xxxxというようなURLになります。

普通のCSVコネクタと同じようなダイアログが開きます。あとはCSVコネクタと同じです。

2019-11-07 (3).png


Power Query コード

コードはこんな感じになります。

let

ソース = Csv.Document(Web.Contents("https://drive.google.com/uc?id=xxxx"), ...),
昇格されたヘッダー数 = Table.PromoteHeaders(ソース, [PromoteAllScalars=true]),
...


まとめ


  • Google ドライブのファイルのURLはhttps://drive.google.com/uc?id=xxxx

  • Webコネクタでバイナリを取ってきて、Csv.Document()関数に渡す。

  • まだ試してはいないが、原理的にはCSVだけでなく、Excel、XML、JSONなど、バイナリ形式のものであれば何でも読み込めるはず。