PythonとGoogleスプレッドシートを連携させることで、Excelの代替や業務の自動化、レポート作成、Webデータ収集など、さまざまな業務効率化が可能になります。
この記事では、PythonからGoogleスプレッドシートを操作するための基本〜実践までを、初心者でも分かるように徹底解説します。
✅ この記事で分かること
- PythonとGoogleスプレッドシートを連携する方法(gspreadの使い方)
- サービスアカウントと認証方法の設定
- データの読み取り・書き込み・更新・削除の基本操作
- 実務で使える応用例(API連携・日次レポートなど)
🔧 必要な準備
1. ライブラリのインストール
まずは必要なライブラリをインストールします。
pip install gspread oauth2client
※pandasも併用したい場合は
pip install pandas
もしておきましょう。
2. Google Cloud Consoleの設定
✅ サービスアカウントを作成
- Google Cloud Consoleにアクセス
- プロジェクトを作成
- 「APIとサービス」→「認証情報」→「サービスアカウント」を作成
- 「鍵を追加」→「JSON」を選択して鍵ファイルをダウンロード
✅ スプレッドシートへの共有
作成したサービスアカウントのメールアドレスを、対象のGoogleスプレッドシートの共有設定に追加(編集権限)しておきます。
🧪 基本操作:gspreadの使い方
📥 スプレッドシートに接続
import gspread
from oauth2client.service_account import ServiceAccountCredentials
# 認証とクライアント生成
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("your-credentials.json", scope)
client = gspread.authorize(creds)
# スプレッドシートにアクセス
sheet = client.open("スプレッドシート名").sheet1
📤 データの書き込み
sheet.update_cell(1, 1, "Hello, World!") # A1に書き込む
または複数行の一括書き込み:
data = [["名前", "点数"], ["山田", 80], ["佐藤", 90]]
sheet.update("A1", data)
📥 データの読み取り
rows = sheet.get_all_values()
for row in rows:
print(row)
✏️ データの更新・削除
sheet.update_cell(2, 2, 100) # B2セルの値を更新
sheet.delete_rows(3) # 3行目を削除
💡 実務で使える応用例
✅ 1. 日報や売上レポートの自動記録
from datetime import datetime
today = datetime.now().strftime("%Y-%m-%d")
new_row = [today, "売上: ¥100,000", "備考なし"]
sheet.append_row(new_row)
✅ 2. 外部APIと連携してスプレッドシートに保存
import requests
response = requests.get("https://api.coindesk.com/v1/bpi/currentprice/JPY.json")
btc_price = response.json()["bpi"]["JPY"]["rate"]
sheet.append_row([datetime.now().isoformat(), btc_price])
🛠 補足:pandasとの連携も可能
import pandas as pd
df = pd.DataFrame(sheet.get_all_records())
print(df.head())
📝 注意点とベストプラクティス
- セキュリティ上、認証JSONはGitHub等に公開しないよう
.gitignore
に追加 - スプレッドシートAPIの呼び出し回数には制限あり(無料枠内で使うなら注意)
- 定期実行する場合は
cron
やtask scheduler
で自動化
🔗 関連記事
- 【GAS連携】PythonとGoogle Apps ScriptでGoogleスプレッドシートを自在に操作する方法
- Pythonで業務自動化するスクリプト集10選
- 【保存版】Python × ChatGPT APIで日常業務を自動化するアイデア10選
🎯 まとめ
PythonとGoogleスプレッドシートを連携させることで、手動作業を自動化し、業務効率を飛躍的に高めることができます。
特に「報告書自動作成」「外部データ記録」「共有レポート」など、実務にそのまま使えるシーンが多いため、ぜひこの機会に導入してみてください!
転職でキャリアを加速させたいあなたへ
「今の職場に限界を感じている」「もっと評価される場所で働きたい」そんなあなたに向けて、転職成功の実践ノウハウと退職時の不安を解消するサポート情報をまとめました。
- ▶ キャリアを加速させるハイクラス転職の戦略
- ▶ 40代以上でも安心。経験を活かせる「エージェント」活用法
- ▶ ITエンジニア特化型「TechClipsエージェント」のリアルな評価
- ▶ 円満退職を実現するための法律サポートもチェック
転職・退職で迷っている方へ。不安を解消し、自信を持って次のキャリアへ踏み出しましょう。