【保存版】PythonとGoogleスプレッドシート連携の完全ガイド

PythonとGoogleスプレッドシートを連携させることで、Excelの代替や業務の自動化、レポート作成、Webデータ収集など、さまざまな業務効率化が可能になります。

この記事では、PythonからGoogleスプレッドシートを操作するための基本〜実践までを、初心者でも分かるように徹底解説します。


✅ この記事で分かること

  • PythonとGoogleスプレッドシートを連携する方法(gspreadの使い方)
  • サービスアカウントと認証方法の設定
  • データの読み取り・書き込み・更新・削除の基本操作
  • 実務で使える応用例(API連携・日次レポートなど)

🔧 必要な準備

1. ライブラリのインストール

まずは必要なライブラリをインストールします。

pip install gspread oauth2client

※pandasも併用したい場合は pip install pandas もしておきましょう。


2. Google Cloud Consoleの設定

✅ サービスアカウントを作成

  1. Google Cloud Consoleにアクセス
  2. プロジェクトを作成
  3. 「APIとサービス」→「認証情報」→「サービスアカウント」を作成
  4. 「鍵を追加」→「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の呼び出し回数には制限あり(無料枠内で使うなら注意)
  • 定期実行する場合は crontask scheduler で自動化

🔗 関連記事


🎯 まとめ

PythonとGoogleスプレッドシートを連携させることで、手動作業を自動化し、業務効率を飛躍的に高めることができます。

特に「報告書自動作成」「外部データ記録」「共有レポート」など、実務にそのまま使えるシーンが多いため、ぜひこの機会に導入してみてください!

転職でキャリアを加速させたいあなたへ

「今の職場に限界を感じている」「もっと評価される場所で働きたい」そんなあなたに向けて、転職成功の実践ノウハウと退職時の不安を解消するサポート情報をまとめました。

転職・退職で迷っている方へ。不安を解消し、自信を持って次のキャリアへ踏み出しましょう。

タイトルとURLをコピーしました