Python

Python上でスプレッドシートを操作するために必要な初期設定まとめ

こんにちは、まさかめです。

一般的な会社ではEXCELやGoogleスプレッドシートなどの表計算ソフトを使用して実績管理をしたり、データ分析をしたりするのではないでしょうか?

そこで、この記事ではPythonを用いてスプレッドシートを操作するために必要な初期設定について解説します。

まさかめ
まさかめ
pythonからスプレッドシートを操作できるようになると世界がグッと広がるよ!

GCP(Google Cloud Platform)の設定

プロジェクトの作成

まずはGoogle Cloud Platformへアクセスし、新しいプロジェクトの作成を行います。

プロジェクト名はわかりやすければ何でもOKなので、自分の用途に合わせたものをつけましょう。

Google Drive APIの有効化

次にGoogle Drive APIを有効にしていきます。

まず、GCPのサイドバーにあるライブラリをクリックします。

そして、APIライブラリにおける検索窓で”Google Drive API”と打ち込み、該当のものを有効にします。

Google Sheets APIの有効化

次にGoogle Sheets APIを有効にしていきます。

こちらも先程のGoogle Drive APIと同様に、

APIライブラリにおける検索窓で”Google Sheets API”と打ち込み、該当のものを有効にします。

認証情報の設定

ここまでが完了していればGCP上で必要なことは認証情報の設定のみです。

ここまではAPIライブラリでの作業でしたが、

次はサイドバーにある”認証情報”をクリックします。

そして、認証情報を作成をクリックし、サービスアカウントを選択します。

サービスアカウント名は何でも良いので、後で理解しやすい名前にしておきましょう。

サービスアカウント名を入力後、完了をクリックします。

作成が完了したアカウントを選択し、キーというタブから「鍵を追加」を選び、キーのタイプをJSONにして鍵の作成を行います。

ここで作成したJSONファイルは後ほど使用するのでわかるところに保存しておきましょう。

スプレッドシートの設定

python上のプログラムで操作したいスプレッドシートやドライブのフォルダに対して、先程作成したJSONファイルに記載されているclient_emailという項目に存在するアドレスの権限を付与しておきましょう。

Pythonのプログラム実装

ここまでが必要な事前設定となります。

あとはpythonのプログラムを作成していきましょう。

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

$ pip install gspread
$ pip install oauth2client

今回のプログラムは動作を確認するためのものなので、

A1セルに”Hello World!!”と出力する簡単なプログラムを使用します。

import gspread
import json
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)

spreadsheet = '操作したいスプレッドシートID'
worksheet = gc.open_by_key(spreadsheet).sheet1

worksheet.update_cell(1,1, 'Hello World!!')

 

これでpythonからスプレッドシートを操作できると思います。