PythonからGoogleスプレッドシートを操作する

Python学習【365日チャレンジ!】353日目のマスターU(@Udemy11)です。

個人的にはExcelを使うより、Googleスプレッドシートを使う機会の方が多くなっています。

世の中の多くの人がMicrosoft Officeを使っているため、Excelを使わなくてもよくなることはありませんが、無料のGoogleスプレッドシートがどんどん便利になっているので、シェアがひっくり返る日も近いのかなと思っています。

ほんと便利なんですよねGoogleスプレッドシート。

それでは今日も、Python学習を始めましょう。

昨日の復習

昨日は、Google検索結果の1ページ目から、ヒットしたページのURL、タイトル、H2タグを抽出するコードを書きました。

これまでに、URLとタイトルを抽出していたので、あとはH2のタグをみつけるだけなので、ここまで学習してきた人にとってはお茶の子さいさいのコード追加だと思いきや、1つのURLに対して、抽出するH2タグが1つ以上なので、ちょっとした工夫が必要でした。

昨日の学習内容については、こちらの記事をごらんください。

今日は、PythonからGoogleスプレッドシートを操作するための初期設定を学習したいと思います。

Google Cloud Platform

まず、GoogleスプレッドシートをPythonから操作するためには、Google Cloud Platformから提供されるAPIを活用する必要があるので、下記のリンクから設定を始めます。

Googleのアカウントへのログインが求められ、ログインすると次の画面が表示されるので、チェックを入れて【同意して続行】をクリックします。
最新情報が不要な場合はメールで通知のチェックを入れる必要はありません。

PythonからGoogleスプレッドシートを操作する

Google Cloud Platformにログインできたら、GoogleスプレッドシートをPythonから操作するための初期設定をはじめていきましょう。

プロジェクトの作成

まずは、プロジェクトを作成しますので、Google Cloud Platformをはじめて使う場合には、表示されている【プロジェクトを作成】をクリックします。

PythonからGoogleスプレッドシートを操作する

プロジェクトの名前を入れると自動的にプロジェクトIDが割り振られるので【作成】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

プロジェクトが作成されて、通知が表示されますので、続いてGoogleDriveAPIとGoogleSheetsAPIを有効にする設定を行います。

PythonからGoogleスプレッドシートを操作する方法

左上のプロジェクトが、いま作成したプロジェクトが選択されているのを確認し、左メニューの【APIとサービス】から【ライブラリ】をクリックします。

Google Drive API

GoogleスプレッドシートはGoogle Driveに保存されるので、最初にGoogle Drive APIの設定を行います。

PythonからGoogleスプレッドシートを操作する方法

表示されている検索窓に【Google Drive】と入力してGoogle Drive APIを検索するか、画面をスクロールして、Google Drive APIを見つけてクリックします。

PythonからGoogleスプレッドシートを操作する

表示された画面の【有効にする】をクリックします。

PythonからGoogleスプレッドシートを操作する

概要画面が表示されてGoogle Drive APIの準備は完了です。

PythonからGoogleスプレッドシートを操作する方法

左上の【Google Cloud Platform】ロゴをクリックして、引き続き、Google Sheets APIを有効にします。

Google Sheets API

先程と同じように、左メニューの【APIとサービス】から【ライブラリ】をクリックし、検索窓に【sheet】と入力して、Google Sheets APIを見つけてクリックします。

PythonからGoogleスプレッドシートを操作する

表示されるGoogle Sheets APIの【有効にする】ボタンをクリックして、Google Sheets APIを有効にします。

PythonからGoogleスプレッドシートを操作する

次の画面が表示されて、Google Sheets APIの準備は完了です。

PythonからGoogleスプレッドシートを操作する方法

引き続き、認証情報を作成しますので、、左上の【Google Cloud Platform】ロゴをクリックして、表示される左メニューの【APIとサービス】から【認証情報】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

認証情報の作成

認証情報の画面に移動するので、上部にある【+認証情報を作成】をクリックし、【サービスアカウント】を選択します。

PythonからGoogleスプレッドシートを操作する方法

今回、サービスアカウント名は【Access_Python】にしますが、任意の名前でかまいません。

【サービスアカウントの説明】も記入してから【作成】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

2つ目の項目に移るので、【ロールを選択】をクリックして、【基本】、【編集者】を選択してから【続行】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

3つ目の項目はどちらも入力不要なので、【完了】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

認証情報の画面に戻り、サービスアカウントが追加されています。

PythonからGoogleスプレッドシートを操作する方法

キーを作成

先程の画像の赤で囲った部分のメールアドレス部分をクリックします。

プロジェクトのサービスアカウントの詳細ページに移動するので、画面をスクロールして、キーの項目の【鍵を追加】から【新しい鍵を追加】を選択します。

PythonからGoogleスプレッドシートを操作する方法

キーのタイプに【JSON】が選択されているのを確認して、【作成】をクリックします。

PythonからGoogleスプレッドシートを操作する方法

キーを保存する場所を聞いてくるので、とりあえずデスクトップに保存しましたが、このファイルはPythonから読み込んで使用するので、後ほどGoogleスプレッドシートを操作するPythonファイルと同じ階層等の使いやすいフォルダにに移動します。

PythonからGoogleスプレッドシートを操作する方法

このファイルがあれば、クラウドに保存しているファイルを操作できるので、システムからの警告が表示されています。取り扱いには注意しましょう。

PythonからGoogleスプレッドシートを操作する方法

これで初期設定は完了で、サービスアカウントのステータスにキーが追加されていれば、Google Cloud Platformの初期設定は完了です。

PythonからGoogleスプレッドシートを操作する方法

まとめ

このあと、Googleスプレッドシートの初期設定が必要ですが、少し長くなったので、今日はここまでにして、スプレッドシートの設定は明日に持ち越します。

今回のPythonでGoogleスプレッドシートを操作するためのGoogle Cloud Platformの初期設定は、PythonやGoogleスプレッドシートの使い方をいろいろと発信されている【たぬハック】さんの記事を参考にさせていただきました。

本来なら、MySQLなどのデータベースを使ってデータをやり取りするところを可視化したほうが、目に見えてわかりやすいというコンセプトで、積極的にGoogleスプレッドシートを使ってみてはどうかという考えのもと、Googleスプレッドシートの使い方をわかりやすく解説されている方です。

いろいろと参考にさせていただくことが多く、めちゃくちゃ勉強になるサイトですので、ブックマークしておいてはいかがでしょうか?

Google Cloud Platformの設定はいろいろと複雑で、詳しい方のサイトなどを参考にさせていただかないと自力では解決できません。

また、Googleのサービスは、アップデートのスピードが半端なく早いので、ちょっと前の情報がすぐに古くなって、参考にする記事のとおりにはできないことが多いので、今回もたぬハックさんの記事のとおりにはいきませんでした。

私の記事も、今は最新ですが、同じようにはいかないかもしれないので、うまくいかなければいろいろと試してみてください。

それでは、明日もGood Python!