YutaKa Notebook | Enjoy Python!

Python の文法やモジュール、Python関連のAPIについて画像・ソースコード付きで徹底解説!

PythonでGoogleスプレッドシートを編集する方法【前半:Google設定&Python環境構築】

f:id:YutaKa:20191016214958p:plain
Google版 Excelとも言えるGoogle スプレッドシートですが、クラウドベースなだけあって、どこからでも編集できるというのがとても便利ですよね。

これをさらにPythonで編集、書き込みや読み込みを自動化できたらもっと便利ですよね?これはGoogle のAPIを利用すれば、簡単にできるんです!

【前半】Google設定&Python環境構築【後半】スクリプト作成の二回に分けて、紹介したいと思います。

今回は前半部分についてまとめました!

Google が紹介する方法を参考にしているので、興味がある方は原文もご覧ください!Python Quickstart | Sheets API | Google Developers

①スプレッドシート APIの有効化

本来であれば、Google Cloud Platformで新しいプロジェクトを作ってスプレッドシートを作成するというやや複雑な手順を踏むのですが…今回はQuickstart の超簡単な方法を参考にしてみます!

Python Quickstartにアクセスして、ここをクリック!

f:id:YutaKa:20191016102212p:plain

するとQuickstartというプロジェクトが自動で作成されて、スプレッドシートのAPIが有効化されるんです。

次のポップアップが出るので、CLIENT CONFIGURATION(jsonファイル)をダウンロードします。

f:id:YutaKa:20191016102321p:plain
この中には APIへのアクセストークンを要求するために必要な、client ID と client secret が格納されています。人には教えないようにしましょう!
これでスプレッドシートAPIの有効化は完了です!簡単です・・・!

②スプレッドシートIDの準備

Google スプレッドシートにアクセスして、新規のシートを作成します。

ここで大切なのは、スプレッドシートIDを控えておくことです。

このIDはURLの /d/ と /edit の間の文字列です!例えば以下のスプレッドシートURLで言えば太字の部分です。

https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit#gid=0

③仮想環境の構築

condaを使って、APIを利用するための仮想環境を準備します。

今回、仮想環境に必要なモジュールは次の3つです。

  • google-api-python-client
  • google-auth-httplib2
  • google-auth-oauthlib

これらはデフォルトチャンネルでは見つかりませんが、conda-forgeで見つけることができます。

少し長いですが、次のコマンドで仮想環境を作ります!(envnameは好きな名前に変更してくださいね)

conda create --name envname -c conda-forge google-api-python-client google-auth-httplib2 google-auth-oauthlib

f:id:YutaKa:20191016103348p:plain

このコマンドを打つだけでもOKですが、次の記事で仮想環境構築について詳しく解説しています。気になる方はチェック!
yutaka01.hatenablog.com

④Pythonプロジェクトの準備

先ほど作った仮想環境でPythonのプロジェクトを作ります。

私はエディタとしてPycharmを使用しているので、次の記事の方法でconda で作った仮想環境をPycharmで使用しています。

yutaka01.hatenablog.com

今回大事なことは、先ほどダウンロードしたjsonファイルをプロジェクトフォルダに移動(コピー)しておくことです!

Pycharmを使っていれば、これはドラッグ&ドロップでできます!!Pycharmすごい!

f:id:YutaKa:20191016105134p:plain

これで下準備はOKです!

まとめ

今回は次の内容についてまとめました!

  • スプレッドシート APIの有効化
  • スプレッドシートIDの準備
  • 仮想環境の構築
  • Pythonプロジェクトの準備

次回はスクリプトを作成、実行して、実際にスプレッドシートを編集してみましょう!