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でプロジェクトを作る
- Google Cloud Console にアクセスしてログインします。
- 右上の「プロジェクトを選択」→「新しいプロジェクト」をクリック。
- 名前を「Python スプレッドシート連携」など分かりやすいものにして「作成」。
🌟ステップ3:Google Sheets APIを有効化
- 作ったプロジェクトを開いた状態で、左上メニュー → 「APIとサービス」→「ライブラリ」へ。
- 「Google Sheets API」と検索。
- 「有効にする」をクリック。
これで、Pythonからスプレッドシートを使うための準備ができました!
🌟ステップ4:サービスアカウントを作成して鍵を取得する
- 左メニューの「認証情報」→「認証情報を作成」→「サービスアカウント」。
- 名前はなんでもOK。例:「sheets-access」など。
- 権限の設定はスキップで大丈夫。
- 作成したサービスアカウントを開き、「鍵」タブを選択。
- 「鍵を追加」→「新しい鍵を作成」→「JSON」を選んで作成。
- 自動で
.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(認証に失敗)
原因: サービスアカウントのメールアドレスを、スプレッドシートの共有に追加していない。
対処法:
- Googleスプレッドシートを開く。
- 右上の「共有」ボタンをクリック。
- サービスアカウントのメールアドレス(
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つを順番に見直してみましょう:
- ファイル名やIDの入力ミスがないか?
- サービスアカウントに「共有」設定しているか?
- 必要なライブラリがちゃんと入っているか?

それでも分からないときは、エラーメッセージをコピペして検索してみるのもおすすめです。たいてい誰かが同じことで困ってます!
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!
- 認証エラーやファイルの場所ミスに注意!
- 応用すれば、作業記録やスクレイピング、レポート生成まで自動化できる!
プログラミング初心者でも、「毎日の作業をちょっとラクにする」ことから始めてみましょう。
スプレッドシート操作は、自動化スキルの第一歩にぴったりのテーマです。
🔗あわせて読みたい
- PythonでWebスクレイピングしてスプレッドシートに自動書き込みする方法
- PythonでExcelファイルを操作する方法|openpyxl入門
- 【業務効率化】Pythonで自動レポートを作る方法|Excel・PDF・メール送信まで一括自動化!
- 【Python入門1】WindowsでPythonを始めよう!IDLEのインストールと基本の使い方ガイド
よくある質問(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の商品ページをご確認ください。