- Published on
oauth2clientとgspreadを使ってGoogleスプレッドシートをPythonで操作する
1502文字3分で読めます–––
閲覧数
- Authors
- Name
- Shou Arisaka nyapp.buzz/shou
- short bio
- Z世代の情報技術者。Next.jsで自作SNSを個人開発中。
このガイドでは、Pythonのoauth2clientとgspreadライブラリを使って、Googleスプレッドシートのデータをプログラムで操作する方法を紹介します。Googleスプレッドシートはクラウド上でデータを管理できる便利なツールで、Pythonを使ってそのデータを自動化・操作することができます。
必要な準備
1. Google API クライアントライブラリのインストール
以下のライブラリをインストールします。
pip install gspread oauth2client
2. Google APIプロジェクトの設定
- Google Cloud Consoleで新しいプロジェクトを作成します。
- Google Sheets APIとGoogle Drive APIを有効にします。
- 認証情報を作成し、「サービス アカウント キー」を選択します。JSON形式のキーをダウンロードし、プロジェクトに適切な権限を付与します。
3. スプレッドシートの共有
スプレッドシートを作成し、先ほど作成したサービスアカウントのメールアドレスに編集権限を与えます。
Pythonスクリプトの例
以下は、Pythonを使ってGoogleスプレッドシートのデータにアクセスするスクリプトの例です。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
def main():
# Google Sheets APIのスコープを定義
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
# 認証情報の読み込み
creds = ServiceAccountCredentials.from_json_keyfile_name('path/to/credentials.json', scope)
# クライアントの初期化
client = gspread.authorize(creds)
# スプレッドシートのIDでスプレッドシートを開く
sheet = client.open_by_key('your_spreadsheet_id').sheet1
# データの読み取り
data = sheet.get_all_records()
print(data)
# セルへの書き込み
sheet.update_cell(2, 2, 'Hello, World!')
if __name__ == "__main__":
main()
注意点
- スプレッドシートIDとJSONファイルのパスは、自分の環境に合わせて変更してください。
- セキュリティ上、認証情報ファイル(JSONファイル)は他人と共有しないようにしましょう。
ServiceAccountCredentials.from_json_keyfile_name
で読み込むJSONファイルには、ダウンロードしたサービスアカウントキーのファイルパスを指定します。
参考資料
15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。
何かご質問がありますか?