gspread を使って python で spreadsheet を取得する #
gspreadというパッケージを使いました。
2021/06/06 時点でスターも 5.4k と信頼できるパッケージだと思います。
スプレッドシートを使うためにはざっくり以下の準備が必要です。
順を追って設定していきましょう!
- Google APIs でプロジェクトの作成 →drive、スプレッドシートへのアクセス許可、認証情報の発行
- python にパッケージをインストールして認証情報を使ってアクセス
- あとは煮るなり焼くなり好き勝手しちゃいます
Google APIs 側の準備 #
-
プロジェクトを作成 GCPにアクセスして、プロジェクトを作成をクリック。
-
プログラムからの drive とスプレッドシートへのアクセスを許可する 画面上の検索ボックスで
Google Drive APIを検索し、有効にするボタンをクリックしましょう。
また、同様にGoogle Sheets APIを検索し、有効にするボタンをクリックします。 -
認証情報を発行する ハンバーガーメニューから API とサービスを選び、ダッシュボードをクリックします。
ペインに認証情報という項目があるのでクリックし、サービスアカウントを見つけ、新しくサービスアカウントを作成します。
テキストボックスにいくつか入力が求められますので、いい感じに埋めちゃいます。
どんどん進めていくと json で認証情報がもらえるので、ダウンロードしておきます。
これで認証情報を持つプログラムが drive とスプレッドシートにアクセスできるようになります!
python にパッケージをインストールして認証情報を使ってアクセス #
pip install gspread
でパッケージをインストールします。
適当なディレクトリに先程の認証情報の json を入れましょう。 スプレッドシートを扱いたいプログラムで以下のようにすると、wb でファイルにアクセスできるようになります。
gs = gspread.service_account(filename="path/to/credential_file")
wb = gs.open("スプレッドシートのファイル名") # wbでファイルにアクセスできる
ws = wb.worksheet("シート名") # wsでシートにアクセスできる