python

oauth2clientとgspreadを使ってGoogleスプレッドシートをPythonで操作する

Pythonのoauth2clientとgspreadライブラリを使って、Googleスプレッドシートのデータをプログラムで操作する方法を解説します。APIの設定から基本的な操作までをカバーしています。

Shou Arisaka
1 分で読める
2018年2月3日

このガイドでは、Pythonのoauth2clientとgspreadライブラリを使って、Googleスプレッドシートのデータをプログラムで操作する方法を紹介します。Googleスプレッドシートはクラウド上でデータを管理できる便利なツールで、Pythonを使ってそのデータを自動化・操作することができます。

必要な準備

1. Google API クライアントライブラリのインストール

以下のライブラリをインストールします。

pip install gspread oauth2client

2. Google APIプロジェクトの設定

  1. Google Cloud Consoleで新しいプロジェクトを作成します。
  2. Google Sheets APIとGoogle Drive APIを有効にします。
  3. 認証情報を作成し、「サービス アカウント キー」を選択します。JSON形式のキーをダウンロードし、プロジェクトに適切な権限を付与します。

3. スプレッドシートの共有

スプレッドシートを作成し、先ほど作成したサービスアカウントのメールアドレスに編集権限を与えます。

Pythonスクリプトの例

以下は、Pythonを使ってGoogleスプレッドシートのデータにアクセスするスクリプトの例です。

import gspread
from oauth2client.service_account import ServiceAccountCredentials

def main():
    # Google Sheets APIのスコープを定義
    scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
    
    # 認証情報の読み込み
    creds = ServiceAccountCredentials.from_json_keyfile_name('path/to/credentials.json', scope)
    
    # クライアントの初期化
    client = gspread.authorize(creds)
    
    # スプレッドシートのIDでスプレッドシートを開く
    sheet = client.open_by_key('your_spreadsheet_id').sheet1
    
    # データの読み取り
    data = sheet.get_all_records()
    print(data)
    
    # セルへの書き込み
    sheet.update_cell(2, 2, 'Hello, World!')

if __name__ == "__main__":
    main()

注意点

  • スプレッドシートIDとJSONファイルのパスは、自分の環境に合わせて変更してください。
  • セキュリティ上、認証情報ファイル(JSONファイル)は他人と共有しないようにしましょう。
  • ServiceAccountCredentials.from_json_keyfile_nameで読み込むJSONファイルには、ダウンロードしたサービスアカウントキーのファイルパスを指定します。

参考資料

この記事をシェア

Shou Arisaka 2018年2月3日

🔗 リンクをコピー