前回のエントリー
前回は統計ダッシュボードAPIの詳細と、Googleドライブ(スプレッドシート)のAPI登録、秘密鍵のダウンロードまでやりました。
リンクはこちら↓
スプレッドシートを共有する
早速コーディング・・・の前に、使用するスプレッドシートを作っておきます。
step.1 スプレッドシート新規作成
Googleドライブにアクセスし、新規作成からスプレッドシートを選択
シートの名前は適当に「サンプルシート」としました。
step.2 シートの共有設定
次にシートの右上に共有のボタンがあるのでこれをクリック
他のユーザーと共有というウインドウが現れるので、ここに前回取得したJSONキーの中に書いているメールアドレスを入力します。
JSONファイルをメモ帳などで開くとこんな感じになっているので、赤塗りになっている"client_email"の部分をコピーして貼り付けてください。
送信をクリック。
これでスプレッドシートの共有作業は完了です。
Pythonで編集するスプレッドシートはすべてこの作業が必要です。
モジュールのインストール
PythonからGoogleドライブのAPIを使うには「gspread」と「oauth2client」が必要なので、pipでインストールします。
$ pip install gspread $ pip install oauth2client
※Python環境導入については他のサイトを参照ください。
プログラムの作成
Googleスプレッドシートにとりあえず「Hello World!」と書き込むプログラムを作成します。
ファイル名:spread_sample.py
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ファイル名>.json', scope) gc = gspread.authorize(credentials) wks = gc.open('サンプルシート').worksheet('シート1') wks.update_acell('A1', 'Hello World!')
JSONファイル名は前回ダウンロードしたJSONファイルの名前を指定してください。
コードの9行目について、今回書き込むシートのシート名を直接指定しましたが(下図)
一番先頭のシート(一番左側)を編集したい場合は下記の様にしても大丈夫です。
wks = gc.open('サンプルシート').sheet1
ただ、二つ目のシートを下の様に指定することはできないんですよねぇ。エラーになると思います。
wks = gc.open('サンプルシート').sheet2
だから私は素直にシート名を直接指定しています。統計データを扱う場合は、複数のシートを使う場合が多いですし。
プログラムの実行
プログラムを実行すると・・・
$ python spread_sample.py
ちゃんとスプレッドシートにHello World!と書き込まれました!!
ポンッ! と”Hello World!”の文字が現れた瞬間は何とも言えない達成感がありますw
次は統計データの取得と書き込み
ここまで出来たらあとは、統計データを読み込んできて書き込むだけですね。
・・・というわけで、続きは次回に(汗)
すみません、次で最後です。
次のエントリー
(adsbygoogle = window.adsbygoogle || []).push({});