Python から Google スプレッドシート を読み書きする方法です。
Python でゴリゴリ整形したデータを Google スプレッドシート に蓄えたかったので備忘録します。
環境
- Windows 11 Home 21H2 (22000.434)
- Python 3.10.1
- gspread 5.1.1
GCP (Google Cloud Platform)
Python から Google スプレッドシート を操作するには GCP (Google Cloud Platform) で APIキー を発行する必要があります。
プロジェクトの作成
まず GCP (Google Cloud Platform) へ行き、プロジェクトを作成します。
分かりやすい適当なプロジェクト名を入力します。
少し待つと GCP にプロジェクトが出来上がります。
Google Drive API を有効化
Python から Google スプレッドシート を操作したいので、Google Drive API を有効化します。
まず、「API とサービス」の「ライブラリ」へ行き、
「google drive api」を検索して、
Google Drive API ライブラリ を有効化します。
Google Sheets API を有効化
同じ要領で「Google Sheets API」も有効化します。
認証情報の作成
続いて、Python から Google スプレッドシート を操作するために、認証情報を作成します。
「認証情報を作成」ボタンを押し、
「サービスアカウント」を選択します。
サービスアカウントの作成
「サービスアカウント名」と「サービスアカウントID」を入力し「完了」ボタンを押すとサービスアカウントが作られます。
サービスアカウントキーの作成
今作ったサービスアカウントを開いて、
「キー」タブを選択し、
「新しい鍵を作成」を選択します。
キーのタイプ「JSON」を選択し「作成」を押すと サービスアカウントのキーが作成されます。
保存ダイアログが出るので、キーファイルを適当な場所に保存します。
Google スプレッドシート
Python から読み書きできる Google スプレッドシート を作っていきます。
共有の設定
対象の Google スプレッドシート を開いて「ファイル > 共有 > 他のユーザーと共有」を選択します。
「ユーザーを追加」する箇所に、先ほど保存したキーファイルの「client_email」を貼り付けます。
この部分をコピペすればOKです。
最後に「送信」ボタンを押せば共有設定は完了です。
Google スプレッドシートの読み書き
準備が終わったので早速 Python から Google スプレッドシートの読み書き をしてみたいと思います。
ライブラリのインストール
今回は「gspread」ライブラリを使って読み書きをしていきます。
1 | pip install gspread |
書き込み
同じディレクトリのサービスアカウントキーファイルを読み込み、Google スプレッドシートに値を書き込みに行きます。
1 | import gspread |
実行すると Google スプレッドシート に値が入ります。
読み込み
最後に Google スプレッドシート から値を読み込んでみます。
1 | import gspread |
指定列を全て取得
1 | # A列を全て取得 |
指定行を全て取得
1 | # 1行目を全て取得 |