【python】スプレッドシートをpythonで読み書きする初期設定

読了時間目安: 3

pythonでスプレッドシート を操作する際に行う初期設定を解説します。
急がば回れで、まずはここから始めましょう!

この記事が向いている方

  • pythonでスプレッドシートを操作したい
  • pythonのデータベースとかよくわからない
  • スプシの方がよく使っているし操作しやすい
  • pyrthonで得たデータをスプシで管理したい

それではどうぞ!

ワークフロー

初期設定は大まかに3つのフローに分かれています。

1つずつ説明していきますのでゆっくり確実に行っていきましょう!

Google Cloud Platformの設定

初めてログインした場合は、上記のような画面になると思います。

利用規約にチェックを入れて同意します。

新しいプロジェクトの作成

プロジェクト名の入力

プロジェクト名を入力します。

今回はわかりやすく『gspreadsheet-test』としました。

Google Drive APIを有効にする

外部(今回はPython)からスプレッドシートを操作する場合は、Google DriveのAPIも有効にしなければいけません。

ライブラリからGoogle drive API を選択

以下の画面に遷移したら成功です。

Google Sheets APIを有効にする

前項と同じようにライブラリから「Google Sheets API」を選択して有効化します。

以下の画面に遷移したら成功です。

APIが有効化されているか確認

これまでに追加したAPIが欄内にあれば成功です。

認証情報を設定する

認証情報を作成からサービスアカウントを選択します。

アカウント名には、そのアプリケーションがどういう動きをするのか記述します。(今回は『Pythonから読み書き』にしました。)

ロールには編集者を定義して完了を押下します。

画面が下図のようになっていれば、認証情報は正しく設定されています。

記述されているアドレスをコピーしておきます。

この情報は超重要なので、決して他人に見せないようにしましょう。

スプレッドシートの設定

Pythonのプログラムから編集することができるように、共有設定から先程コピーしたアドレスを『編集者』として認証します。

最後に送信を押下すれば完了です。

プログラムを実行

あとは実際にプログラムを書いて実行するだけです。

スプレッドシートの共有設定は新しいプロジェクトを作成するたびに設定する必要があります。

動作環境

  • OS:MacOS High Sierra
  • Python:3.6.5

Pythonは3.x系で使用します。特に理由がなければ、3.x系を使いましょう。

実行コード

#===================googleスプレッドシート認証===================
from google.colab import auth
from oauth2client.client import GoogleCredentials
import gspread

auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_default())

#データを開いてシートを開く
ss_key = "ここにシートキーを入力"
wb = gc.open_by_key(ss_key)
ws = wb.worksheet('シート1')


#===================メイン===================
#A1セルの値を受け取る
import_value = int(ws.acell('A1').value)

#A1セルの値に100加算した値をB1セルに表示させる
export_value = import_value+100
ws.update_cell(1,2, export_value)

簡単にコード内容を説明すると、A1のセル内容を取得して+100してB1に入力するとなります。

シートキーの入力

スプシのURLにはシートキーをいうものがあります。

python側にも、どのシートにアクセスするのかを教えるためにもシートキーを入力します。

スプシのURLの構造はこのようになっていると思います。

https://docs.google.com/spreadsheets/d/ここがシートキー/edit#gid=○○○○○○

このhttps://docs.google.com/spreadsheets/d/から/edit#gid=の間にある文字列がシートキーです。

取得したシートキーはプログラムのss_key=""のダブルクォーテーション内に貼り付けましょう。

Google Cloud SDKにログイン

初回実行時にはGoogle Cloud SDKにログインする必要があります。

この画像は流用です。

リンクにアクセスしてkeyを取得しcodeを入力します。

実行結果

まとめ

以上でpythonからスプレッドシートを読み書きする際の初期設定方法の解説を終わります。

初期設定なのでほとんどの作業は1度やっておけばこの先することはありません。

少し、めんどうですがやっておいて損はありません。

というより、この先pythonでスプシを使っていくならしなければならない設定です。

必ずやっておきましょう!

Posted by ゆき