【Python】「gspread」で「Google スプレッドシート」を操作するための「初期設定」をしよう

gspread

みなさんこんにちは。zak-papaです。

今回は、「Excel」と同じような表計算ソフトの「Google スプレッドシート」を操作する「gspread」の使い方について説明したいと思います。

「Excel」を操作する「OpenPyXL」の操作方法についてはこちら。

python【Python】「OpenPyXL」で「Excel」のワークブック、ワークシートを操作してみよう

 

「OpenPyXL」はインストールしてすぐに使用できましたが、「gspread」などのGoogleの各種サービスを扱う場合はインストールするだけでは足りず、もう一手間設定が必要になります。

 

なので、今回は「gspread」の「初期設定」について説明したいと思います。
設定完了後はこちらの記事で基本的な操作方法をご確認いただければと思います。

python【Python】「gspread」で「 Googleスプレッドシート」のワークブック、ワークシートを操作してみよう

 

「Google Cloud Platform」を設定しよう

まずは下記から「Google Cloud Platform」の設定を行います。

Google Cloud Platform

設定はたったの3つです。順番に見ていきましょう。

「Google Cloud Platform」の設定
  1. 新しいプロジェクトの作成
  2. 2つ(Drive, Sheets)のAPIの有効化
  3. 認証情報の設定

 

 

「新しいプロジェクト」を作成する

このような画面が開いたら、「プロジェクトの選択」「新しいプロジェクト」の順にクリックします。

Google_Cloud_Platform

 

Google_Cloud_Platform_project

 

 

「プロジェクト名(今回は「spreadsheet-sample」としました)」を入力し「作成」をクリックします。

新しいプロジェクト

 

 

無事新規プロジェクトの作成が完了しました。

Google_Cloud_Platform_infomation

 

 

「2つのAPI」を有効にする

続いて、2つのAPI「Google Drive API」「 Google Sheets API」を有効にしていきます。
「ライブラリ」または「+ APIとサービスを有効化」をクリックします。

Google_Cloud_Platform_API

 

 

検索もできますが、少し下にスクロールしたら2つ出てくるので順にクリックします。

Google_Cloud_Platform_search

Google_Cloud_Platform_API

 

「有効にする」ボタンをクリックします。

Google_Cloud_Platform_drive_API

Google_Cloud_Platform_sheets_API

 

 

2つのAPIが下記のように表示されていれば完了です。

Google_Cloud_Platform_API

 

 

 

「認証情報」を設定する

最後に「認証情報」を設定します。画面左側にある「認証情報」をクリックします。

Google_Cloud_Platform_OAuth

 

 

「認証情報を作成」「サービスアカウントキー」の順にクリックします。

Google_Cloud_Platform_OAuth

 

 

ご自身の好きなアカウント名(今回は単純に「python」としました)を入力します。
その他は赤枠で囲ったままに設定してもらえれば大丈夫です。最後に「作成」ボタンをクリックします。

Google_Cloud_Platform_サービスアカウントキー

 

 

「秘密鍵(JSONファイル)」が作成されます。大切な情報なので無くさないようにしましょう。
また、ファイル名が長いので好きなファイル名に変更しても問題ありません。
(「spreadsheet-sample.json」と変更しました。)

Google_Cloud_Platform_jsonファイル

 

「サービスアカウントキー」に表示がされていれば設定完了です。

Google_Cloud_Platform_json_key

 

 

 

「スプレッドシート」を設定しよう

「スプレッドシート」を新規作成する

今度は「スプレッドシート」側の設定を行います。
まずはPythonから読み書きできる「スプレッドシート」を準備しましょう。Google Driveを開き、左上の「新規」から「Google スプレッドシート」を開きます。

Googleスプレッドシート 新規

 

左上の「タイトル」を変更しましょう。(「spreadsheet-sample」と変更しました。)

Google_スプレッドシート

 

 

「スプレッドシート」の"共有"設定をする

「スプレッドシート」を読み書きするのは「Pythonさん」なので、Pythonさんとシートを共有する必要があります。
シートを共有するには、スプレッドシート右上の「共有」ボタンをクリックします。

Google_スプレッドシート_共有

 

 

Pythonさんの「メールアドレス」を入力し、「編集者」の権限を設定して「送信」をクリックします。
Pythonさんの「メールアドレス」は、取得した秘密鍵(JSONファイル)の「 "client_email": 」の後に記載されています。

スプレッドシート_共有

 

※ spreadsheet-sample.jsonspreadsheet-sample_json

 

これで設定完了です。

 

 

「Python」から読み書きする準備をしよう

「作業ディレクトリ・ファイル」を準備する

今回はデスクトップ上に「gspread」ディレクトリ(フォルダ)を作成し、その中に「gspread_practice.py」ファイルを作成して作業していきます。

私の動作環境は次の通りです。ご自身の使い慣れているものをお使いいただければと思います。
Windowsでも同じように動作すると思います。

OS macOS Catalina 10.15.3 Version Python 3.7.4
エディタ Visual Studio Code ブラウザ Google Chrome
ディレクトリ Desctop/gspread ファイル gspread_practice.py

 

また、取得した「秘密鍵(JSONファイル)」も同じディレクトリ内に入れておきましょう。

Desktop_gspread

 

 

「gspread」をインストールする

上記準備が完了したらターミナルで「gspread」をインストールします。
また、同時に「oauth2client」もインストールしましょう。「oauth2client」はGoogleの各種APIへアクセスするためのライブラリです。

 

次のように表示されていればインストール完了です。

gspread_install

oauth2client_install

 

 

インストールが完了したら、「gspread」と「oauth2client」を「インポート」します。

その後にも数行記述することになりますが、特に深入りせず下記のコードをそのまま貼り付けていただければと思います。詳しい内容を知りたい方は下記をご確認いただければと思います。
gspread_Using OAuth2 for Authentication
Google_Using OAuth 2.0 to Access Google APIs

 

ただし、7行目には取得した「秘密鍵(JSONファイル)」の「ファイル名(私の場合は「spreadsheet-sample.json」)」を入力してください。

 

上記のコードは「スプレッドシート」を操作する際に毎回同じ内容のものになるので、何か処理する際は上記のコードを貼り付けた上でどんどんコードを書いていただければと思います。

 

 

終わりに

以上、Pythonからスプレッドシートを扱うための「初期設定」が完了しました。

基本的な操作は下記の記事で説明していますので、先ほど貼り付けたコードの後にスプレッドシートを操作するコードを書いていきましょう。

python【Python】「gspread」で「 Googleスプレッドシート」のワークブック、ワークシートを操作してみよう

 

 

以上となります。最後まで読んでいただきありがとうございました!