pythonからspread sheetを操作した時のメモです
pythonのgspreadパッケージをインストールと認証ファイルを取得すれば簡単にできます
これをベースにawsのlambdaやgcpのcloud functionに乗せれば、クラウド上でスプレッドシートの操作もできるようになります
準備
こちらの内容を踏襲してます
Google Sheets APIの有効化
簡単に
- ブラウザからGCPコンソール画面に入る
- サイドメニューの”APIとサービス” → “ライブラリ”をClick
- Google Sheets APIを検索し、APIを有効化
- サイドメニューの”IAMと管理” → “サービス アカウント”をClick
- “サービスアカウントを作成”をClick → 名前を入力し”完了”ボタンをClick(他は省略)
- 作成されたサービスアカウントをClick → キー → “鍵を追加”でJSONで新規作成
- ダウンロードしたjsonファイルを適当なフォルダに移動
pythonパッケージ gspread をインストール
pip install gspread
$ python -V Python 3.9.1 $ pip freeze | grep gspread gspread==3.7.0
実装
- インスタンス作成
import gspread servece_account = 'ダウンロードしたJSONファイルのPATH' gc = gspread.service_account(servece_account)
上記のgcをベースにworkbookやworksheetを生やします
早見表
description | code |
---|---|
スプレッドシートの作成 | sht = gc.create(‘A new spreadsheet’) |
スプレッドシートの選択(Keyから) | gc.open_by_key(‘Key’) |
スプレッドシートの選択(URLから) | sht = gc.open_by_url(‘対象スプレッドシートのURL’) |
ワークシートの選択 | sht.worksheet(“シート名”) |
全セルデータの取得 | val = worksheet.get_all_values() |
セルの取得 1 | val = worksheet.acell(‘B1’).value |
セルの取得 2 | val = worksheet.cell(1, 2).value |
全セルデータの削除 | worksheet.clear() |
対象セルの削除 | sht.values_clear(‘C2:AB1000’) |
セルに書く 1 | worksheet.update(‘B1’, ‘Bingo!’) |
セルに書く 2 | worksheet.update_cell(1, 2, ‘Bingo!’) |
セルに書く 3 | worksheet.update(‘A1’, [[1, 2], [3, 4]]) |
参照
higashi kunimitsu