【Python】Googleスプレッドシートを編集する方法

PythonでGoogleスプレッドシートを編集する方法について入門者向けにまとめました。

【準備】アクセスの準備、Googleスプレッドシートのセルにアクセス

Pythonでは、「gspread」「oauth2client」モジュールを使うとGoogleスプレッドシートにアクセスして編集できるようになります。
サービスアカウントキー取得
Googleスプレッドシートにアクセスするためのサービスアカウントキー(JSONファイル)を取得します。

● 以下リンクからプロジェクトを作成します。
※[プロジェクトを作成]→利用規約にチェックを入れて[同意して実行]をクリック→[プロジェクト名]に任意の名前を入力して[作成]をクリック
https://console.developers.google.com/cloud-resource-manager

● ライブラリからAPIを検索(上の検索欄に「drive」と入力)し、検索結果から「Google Drive API」を選択して有効にします。

● 「sheet」と入力すると「Google Sheets API」が表示されるので選択し有効にします。

● 「認証情報」→「認証情報を作成」→「サービスアカウント キー」を選択します。

● 任意のサービスアカウント名を入力して、役割は「編集者」を選択し「完了」をクリックします。

● 作成したサービス名を選択し、「キー」を選択→「鍵を追加」→「新しい鍵を作成」をクリック→タイプを「JSON」にして「作成」をクリックするとJSONファイルがダウンロードされます。

● 以下リンクから編集対象となるスプレッドシートを作成し、任意のシート名を入力します。
https://docs.google.com/spreadsheets/create

● シート右上の共有ボタンを押すと、共有するユーザーのメールアドレスの入力欄が表示されます。するエリアが表示されるの先程ダウンロードしたJSONファイルを開いて「client_email」行のメールアドレスをコピーして貼り付けます。

 "client_email": "xxxxx@gspread-sample-202808.iam.gserviceaccount.com", 

● pipで「gspread」と「oauth2client」をインストールします。

$ pip install gspread
$ pip install oauth2client 

以下のPythonプログラムを作成し、実行すればGoogleスプレッドシートを編集できます。

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']

credentials = ServiceAccountCredentials.from_json_keyfile_name('ここにJSONファイルのパスを入力, scope)
gc = gspread.authorize(credentials)
wks = gc.open('ここにプロジェクト名を入力').sheet1

# A1セルのデータを更新(Testと記入)
wks.update_acell('A1', 'Test')

# A1セルのデータを取得して表示
print(wks.acell('A1')) 
【Python入門】使い方とサンプル集
Pythonとは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...

コメント

タイトルとURLをコピーしました