スポンサーリンク

【初心者向け】PythonでGoogleスプレッドシートを操作する基本|gspreadとAPI設定をやさしく解説

Python入門
  1. 1. はじめに|Pythonでスプレッドシートを操作したい理由
  2. 2. 事前準備|Google APIとgspreadのセットアップ
    1. 🌟ステップ1:Googleアカウントを用意しよう
    2. 🌟ステップ2:Google Cloud Consoleでプロジェクトを作る
    3. 🌟ステップ3:Google Sheets APIを有効化
    4. 🌟ステップ4:サービスアカウントを作成して鍵を取得する
    5. 🌟ステップ5:Pythonライブラリのインストール
  3. 3. Pythonコードでスプレッドシートを読み書きする方法
    1. 📝まずは認証(=つなぐ準備)をしよう!
    2. 📘スプレッドシートを開こう!
    3. ✍️データを書き込んでみよう(セルへの書き込み)
    4. 📖データを読み取ってみよう(セルから読み取り)
    5. 📋行や列をまとめて操作してみよう!
  4. 4. エラー対処法|初心者がつまずきやすいポイント
    1. ❌エラー1:gspread.exceptions.APIError(認証に失敗)
    2. ❌エラー2:FileNotFoundError: [Errno 2] No such file or directory
    3. ❌エラー3:gspread.exceptions.SpreadsheetNotFound
    4. ❌エラー4:ModuleNotFoundError: No module named 'gspread'
    5. 🔧エラーは「慌てず」「落ち着いて」確認!
  5. 5. 自動化の応用例|日次レポートやログ記録にも活用
    1. ✅ 活用例1:毎日の作業記録をスプレッドシートに自動保存
    2. ✅ 活用例2:Webスクレイピング結果を記録する
    3. ✅ 活用例3:フォームやチャットボットのデータを記録する
    4. ✅ 活用例4:メールやPDFレポートと組み合わせて通知する
  6. まとめ|Pythonでスプレッドシート操作は自動化の第一歩!
    1. 🔗あわせて読みたい
  7. よくある質問(Q&A)
    1. 関連投稿:

1. はじめに|Pythonでスプレッドシートを操作したい理由

こんにちは!今回は「PythonでGoogleスプレッドシートを操作する方法」について、初心者向けにやさしく解説していきます。

「スプレッドシートって、Googleで表を作ったり、計算したりするやつでしょ?」「Pythonってプログラミングだよね?」──そう思ったあなた、もうスタート地点に立っています!

実はこの2つを組み合わせると、毎日のルーティン作業を自動化できちゃうんです!


たとえば、こんなことができるようになります:

  • アンケート結果を自動でスプレッドシートに追加
  • 毎日の売上データを自動で記録
  • 他のデータベースやWebからの情報を取り込んで表に反映

つまり、手でコピペしてた面倒な作業を、Pythonが代わりにやってくれるようになるんです!

特に、プログラミング初心者の方にとっては、スプレッドシート操作は「はじめての自動化」にピッタリのテーマ。Googleスプレッドシートは無料で使えて、データの出し入れも自由自在。これをPythonから扱えるようになると、日々の業務や趣味の記録がグンとラクになります。

この記事では、PythonとGoogleスプレッドシートをつなげて操作するための基本のステップを、ひとつずつやさしく解説していきます。プログラミング未経験でも大丈夫!一緒にチャレンジしていきましょう。




2. 事前準備|Google APIとgspreadのセットアップ

PythonでGoogleスプレッドシートを操作するためには、いくつか「はじめの準備」が必要です。
ちょっと聞き慣れない言葉も出てきますが、ひとつずつゆっくり進めていけば大丈夫です!

🌟ステップ1:Googleアカウントを用意しよう

まずはGoogleアカウント(Gmailなど)を用意しましょう。すでに持っていればOKです。持っていない場合は、Googleアカウント作成ページから無料で作れます。


🌟ステップ2:Google Cloud Consoleでプロジェクトを作る

  1. Google Cloud Console にアクセスしてログインします。
  2. 右上の「プロジェクトを選択」→「新しいプロジェクト」をクリック。
  3. 名前を「Python スプレッドシート連携」など分かりやすいものにして「作成」。

🌟ステップ3:Google Sheets APIを有効化

  1. 作ったプロジェクトを開いた状態で、左上メニュー → 「APIとサービス」→「ライブラリ」へ。
  2. 「Google Sheets API」と検索。
  3. 「有効にする」をクリック。

これで、Pythonからスプレッドシートを使うための準備ができました!


🌟ステップ4:サービスアカウントを作成して鍵を取得する

  1. 左メニューの「認証情報」→「認証情報を作成」→「サービスアカウント」。
  2. 名前はなんでもOK。例:「sheets-access」など。
  3. 権限の設定はスキップで大丈夫。
  4. 作成したサービスアカウントを開き、「鍵」タブを選択。
  5. 「鍵を追加」→「新しい鍵を作成」→「JSON」を選んで作成。
  6. 自動で .json ファイルがダウンロードされます。これはとても大事な鍵ファイルなので、失くさないようにしておきましょう。

🌟ステップ5:Pythonライブラリのインストール

次はPython側の準備です。以下のコマンドを実行して必要なライブラリをインストールします。

pip install gspread oauth2client

これで、PythonからGoogleスプレッドシートをいじるための準備がすべて整いました!
「なにそれ難しそう…」と思った方も、手順通りやれば意外とカンタンですよ。




3. Pythonコードでスプレッドシートを読み書きする方法

準備ができたら、いよいよPythonコードを書いて、Googleスプレッドシートを操作してみましょう!

ここでは、次のことを順番に紹介します:

  • スプレッドシートに接続する方法
  • セルに書き込む方法
  • データを読み取る方法
  • 行や列を操作する方法

それでは、はじめてみましょう!


📝まずは認証(=つなぐ準備)をしよう!

GoogleとPythonをつなぐには、「さっきダウンロードした鍵ファイル」を使います。

以下のコードをspreadsheet_test.pyという名前で保存してみてください:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# スプレッドシートAPIにアクセスするためのURL範囲
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]

# ダウンロードしたJSONファイル(鍵)のパスを指定
creds = ServiceAccountCredentials.from_json_keyfile_name("your-key-file.json", scope)

# 認証してクライアントを作成
client = gspread.authorize(creds)

🔑 your-key-file.json の部分は、自分のJSONファイル名に置き換えてください。


📘スプレッドシートを開こう!

次に、操作したいスプレッドシートを開きます。
事前にGoogleスプレッドシートを作成しておき、そのURLの中にあるID部分を使います。

# スプレッドシートIDを指定して開く
spreadsheet = client.open_by_key("スプレッドシートID")
sheet = spreadsheet.sheet1 # 最初のシートを指定

※スプレッドシートの共有設定で、サービスアカウントのメールアドレスを共有ユーザーとして追加しておく必要があります!


✍️データを書き込んでみよう(セルへの書き込み)

たとえば「A1セルに ‘こんにちは’ と書く」なら、こんな感じ:

sheet.update_acell("A1", "こんにちは")

📖データを読み取ってみよう(セルから読み取り)

さっき書き込んだA1の内容を読み取って、表示してみます:

value = sheet.acell("A1").value
print(value) # → こんにちは

📋行や列をまとめて操作してみよう!

行をリストで一気に書く:

sheet.insert_row(["りんご", "ばなな", "みかん"], 2)  # 2行目に挿入

列全体を読み取る:

col_data = sheet.col_values(1)  # 1列目のすべてのデータを取得
print(col_data)

自分のPythonスクリプトから、好きなデータをどんどんスプレッドシートに出力したり、読み込んだりできるようになります。




4. エラー対処法|初心者がつまずきやすいポイント

「コードは正しく書いたはずなのに、なぜか動かない…」
PythonとGoogleスプレッドシートを連携するとき、最初につまずきやすいポイントがあります。

でも安心してください。ここでは初心者がよく出会うエラーと、その解決方法をわかりやすく紹介します!


❌エラー1:gspread.exceptions.APIError(認証に失敗)

原因: サービスアカウントのメールアドレスを、スプレッドシートの共有に追加していない。

対処法:

  1. Googleスプレッドシートを開く。
  2. 右上の「共有」ボタンをクリック。
  3. サービスアカウントのメールアドレス(xxxxx@xxxx.iam.gserviceaccount.com)を「閲覧者」か「編集者」で追加。

🔍 ポイント: 追加しないと、Pythonからアクセスしても「誰?アクセス権ないよ」と言われちゃいます。


❌エラー2:FileNotFoundError: [Errno 2] No such file or directory

原因: 鍵ファイル(.json)が見つからない、またはファイル名を間違えている。

対処法:

  • プログラムファイルと同じ場所に .json ファイルがあるか確認。
  • ファイル名を ServiceAccountCredentials.from_json_keyfile_name("ファイル名.json", scope) に正しく書いたかチェック。

❌エラー3:gspread.exceptions.SpreadsheetNotFound

原因: 指定したスプレッドシートIDが間違っているか、権限がない。

対処法:

  • スプレッドシートのURLを確認して、https://docs.google.com/spreadsheets/d/ここがID部分/edit のID部分を正しくコピー。
  • サービスアカウントがそのシートを開けるように、共有設定を確認。

❌エラー4:ModuleNotFoundError: No module named 'gspread'

原因: ライブラリがインストールされていない。

対処法:
ターミナルやコマンドプロンプトで以下を実行:

pip install gspread oauth2client

🔧エラーは「慌てず」「落ち着いて」確認!

エラーが出たときは、次の3つを順番に見直してみましょう:

  1. ファイル名やIDの入力ミスがないか?
  2. サービスアカウントに「共有」設定しているか?
  3. 必要なライブラリがちゃんと入っているか?

それでも分からないときは、エラーメッセージをコピペして検索してみるのもおすすめです。たいてい誰かが同じことで困ってます!




5. 自動化の応用例|日次レポートやログ記録にも活用

PythonでGoogleスプレッドシートを操作できるようになると、いろんな場面で自動化ができるようになります!

ここでは、実際によく使われている活用例をいくつか紹介します。
「こんなこともできるのか!」とイメージをふくらませてみてください。


✅ 活用例1:毎日の作業記録をスプレッドシートに自動保存

たとえばこんなコードで、今日の日付と作業内容を毎日記録できます:

import datetime
today = datetime.date.today().strftime('%Y-%m-%d')
sheet.append_row([today, "ブログ記事を書いた", "2時間"])

これを毎日自動で動かせば、自分だけの作業日報が完成します!

🔁 「タスク管理ツール」や「業務レポート」としても使えます。


✅ 活用例2:Webスクレイピング結果を記録する

たとえば、天気予報や株価、為替レートなどをスクレイピングして、毎日スプレッドシートに記録することもできます。

# 例:天気情報を取得して書き込み(仮のデータ)
sheet.append_row(["2025-06-04", "東京", "晴れ", "28℃"])

☁️ スプレッドシートが「データベース」みたいに使えて便利です!


✅ 活用例3:フォームやチャットボットのデータを記録する

Pythonで作ったWebアプリやLINE Botの入力内容をスプレッドシートに保存することも可能です。

  • お問い合わせフォームの履歴保存
  • チャットで受け取ったアンケートの自動記録
  • 生徒の学習記録の保存 など…

✅ 活用例4:メールやPDFレポートと組み合わせて通知する

スプレッドシートにまとめたデータをもとに、自動でメール送信したり、PDFでレポートを作ったりもできます!

🔗 Pythonで自動レポートを作る方法|Excel・PDF・メール送信まで一括自動化
↑この記事で詳しく解説しています!

「いきなり難しい自動化は無理…」と思うかもしれませんが、まずはスプレッドシートに1行書き込むところからでOK!

慣れてくると、他のサービスとも連携して、自分だけの最強ツールが作れるようになりますよ。




まとめ|Pythonでスプレッドシート操作は自動化の第一歩!

今回は、PythonでGoogleスプレッドシートを操作する基本について、初心者の方にもわかりやすく紹介しました。

ポイントをおさらいすると…

  • Googleスプレッドシートは無料&クラウド対応で超便利!
  • gspreadライブラリを使えば、Pythonからスプレッドシートを読み書きできる!
  • Google APIの設定は少しだけ手間だけど、1回やればOK!
  • 認証エラーやファイルの場所ミスに注意!
  • 応用すれば、作業記録やスクレイピング、レポート生成まで自動化できる!

プログラミング初心者でも、「毎日の作業をちょっとラクにする」ことから始めてみましょう。
スプレッドシート操作は、自動化スキルの第一歩にぴったりのテーマです。


🔗あわせて読みたい

よくある質問(Q&A)

Q
スプレッドシートのIDってどこで確認できますか?
A

GoogleスプレッドシートのURLに含まれています。
たとえばこのURL:

https://docs.google.com/spreadsheets/d/abc123XYZ456/edit#gid=0

の「abc123XYZ456」の部分がスプレッドシートIDです。

Q
サービスアカウントのメールアドレスをどこに入力すればいいですか?
A

Googleスプレッドシートの右上にある「共有」ボタンから、サービスアカウントのメールアドレスを共有ユーザーとして追加してください。
「閲覧者」または「編集者」として追加すればOKです。

Q
.json の鍵ファイルをなくしたらどうすればいい?
A

Google Cloud Consoleから新しい鍵を再発行できます。
該当のサービスアカウントを開いて、「鍵」タブ→「新しい鍵を追加」で再ダウンロードしてください。

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク