Macで表計算ソフトを使いたい時、Excelやnumbersなどもありますが、Excelは入っていない、numbersだと機能が足りないときにおすすめなのが、Googleスプレッドシートです。
Googleスプレッドシートは、Googleが無料で提供してくれる表計算ソフトで、性能自体もExcelに引けを取らない高性能のため、Macで表計算ソフトを使うならスプレッドシート一択です。
Pythonでスプレッドシートを操作するためのライブラリ gspread を使うにあたって、Python側だけではなく、Google側、スプレッドシート側にも準備が必要です。
そこで今回、記事を最後まで読めば gspread を正常に動作する認証作業が完了するところまでわかりやすく解説しておきました。
もう準備が終わっていて、具体的な使い方が知りたいよ!って方はこちらの記事を御覧ください!
最後までよろしくおねがいします!
- Pythonで表計算ソフトを使いたいけどExcelがない
- PythonでGoogleスプレッドシートを操作したい
- スクレイピングしたデータを表計算ソフトでまとめたい
- gspreadを使いたいと思っている
【Pythonライブラリ】スプレッドシートを操作するgspread の認証手順
PythonでGoogleスプレッドシートを操作したいときに便利なが gspreadライブラリです。
gspread を使うと「スプレッドシートの作成や削除」「セルの操作」などの基本操作はもちろん、応用することで「Pythonでスクレイピングしたデータを、スプレッドシートにまとめる」なんてこともできてしまいす。
ただ、 gspread を正常に使うに、Python側でインポートするだけではうまく使えません。Google側も認証や準備をする必要があります。
Pythonでスプレッドシートを使いたい方は以下を読んで、gspreadの実装準備をしていきましょう。
内容は大きくこんな感じ。
- Google Cloud Platform でプロジェクトの作成
- 必要APIの有効化
- 認証キーの作成
- スプレッドシートに client_email を共有
一つ一つやっていきましょう!
Google Cloud Platform でプロジェクトの作成
まずは、Google Cloud Platform でプロジェクトを作成してください。
リソースの管理からでも作成できますし、プロジェクト選択からでも新しいプロジェクトを作成できます。
プロジェクト名を入力したら作成でOK!
必要APIの有効化
プロジェクトを作成したら、APIの有効化を行います。
有効化するAPIは2つで「Google Drive API」と「Google Sheets API」の2つ。
- Google Drive API
- Google Sheets API
ライブラリを選択することで、必要なライブラリを検索することができます。
検索ブロックに、「Google Drive API」「Google Sheets API」それぞれを検索して、有効化させましょう。
有効化をポチっとするだけで完了です。
サービスアカウントの作成
APIの有効化が完了したら、認証キーを作成しましょう。
まずは、「メニューポタン」から、「APIとサービス」、「認証情報」を選択。
「認証情報の作成」から「サービスアカウント」を選択。
サービスアカウント名を入力したら作成でOK!
秘密の鍵を作成
サービスアカウントが作成できたら、秘密の鍵を作成します。
「IAMと管理」から「サービスアカウント」を選択。
「キー」から「鍵を追加」、「新しい鍵を作成」を選択。
キーのタイプを「JSON」で作成、でOK!
スプレッドシートにメールアドレスを共有
あとは実際に操作したいスプレッドシートに、メールアドレスを共有したら準備完了です。
作成したJSONファイルの中に書いてある「client_email」の後ろのメールアドレスを確認するか、
サービスアカウントを確認すると、メールアドレスを確認してコピーする。
スプレッドシートを開いて右上の「共有」を選択してから「メールアドレスをコピペ」して完了。
これで準備が整いました。
Python側ではgspreadをインストール
pip install gspread
上記コマンドで gspread をインストールしましょう。
gspread 動作確認
正常に動作するかを確認しましょう。
セルA1に何でもいいので値を入力しておき、下記コードを実行してみてください。
import gspread
#ワークブックを選択
wb = gspread.service_account(filename="./service_account.json")
ws = wb.open("ファイル名")
#セルA1の値を取得
print(ws.sheet1.get("A1"))
A1の値が表示されたら正常に準備が完了していることを表します。
まとめ
無事に認証は完了できましたでしょうか。
Pythonでスクレイピングしようとしているなら、表計算ソフトも同時に使えたほうがデータ分析の幅がひろがるので、gspread は使えるようにしておきましょう。
準備編が終わったら、次は基本的な使い方についてもまとめていますので、そっちの記事も読んで知識を深めていきましょう。
- gspread はGoogleスプレッドシートを操作するためのPythonライブラリ
- スプレッドシートはGoogleが無料提供している表計算ソフト
- Pythonでスプレッドシートを操作することでデータ分析の幅が広がる