Python

【初心者向け】PythonでGoogleスプレッドシート操作する方法 – 環境構築から使い方まで

google spreadsheet

こんにちは!今回は、Pythonを使ってGoogleスプレッドシートを読み書きする方法をご紹介します。この記事では、環境構築から基本的な操作方法まで、初心者の方にもわかりやすく解説していきます。

なぜPythonでスプレッドシートを操作するの?

Googleスプレッドシートは、Googleが提供する無料の表計算ソフトです。Excelと同じような機能を持ち、多くの人が仕事で使用しています。Pythonからスプレッドシートを操作できると、データ入力の自動化やレポート作成の効率化など、様々な業務改善が可能になります。

準備

環境構築の手順を詳しく見ていきましょう。

1. Googleアカウントを作成する

  1. Google アカウント作成ページ にアクセスします。
  2. 画面の指示に従って、必要な情報(名前、メールアドレス、パスワードなど)を入力します。
  3. 利用規約に同意し、アカウントを作成します。

2. Google Cloudアカウントを作成する

  1. Google Cloud Console にアクセスします。
  2. 右上の「無料で使ってみる」ボタンをクリックします。
  3. 画面の指示に従って、必要な情報を入力します。
  4. クレジットカード情報の入力を求められますが、これは本人確認のためで、自動的に課金されることはありません。

3. プロジェクトを作成し、必要なAPIを有効にする

  1. Google Cloud Consoleにログインします。
  2. 上部のプロジェクト選択ドロップダウンをクリックし、「新しいプロジェクト」を選択します。
  3. プロジェクト名を入力し(例:「スプレッドシートテスト」)、「作成」をクリックします。
  4. 左側のメニューから「APIとサービス」→「ライブラリ」を選択します。
  5. 検索バーで「Google Sheets API」を検索し、選択して「有効にする」をクリックします。
  6. 同様に「Google Drive API」も有効にします。

4. 認証情報を設定する

  1. 左側のメニューから「APIとサービス」→「認証情報」を選択します。
  2. 「認証情報を作成」→「サービスアカウント」をクリックします。
  3. サービスアカウント名を入力し(例:「スプレッドシートユーザー」)、「作成して続行」をクリックします。
  4. 役割は「基本」→「編集者」を選択し、「完了」をクリックします。
  5. 作成したサービスアカウントをクリックし、「鍵」タブを選択します。
  6. 「鍵を追加」→「新しい鍵を作成」→「JSON」を選択し、「作成」をクリックします。
  7. JSONファイルが自動的にダウンロードされます。このファイルは安全な場所に保存してください。

5. フォルダIDを取得する

スプレッドシートを特定のGoogleドライブフォルダに作成したり、既存のスプレッドシートにアクセスしたりする際に、フォルダIDが必要になります。以下の手順でフォルダIDを取得できます:

  1. Googleドライブ(https://drive.google.com/)にアクセスします。
  2. 使用したいフォルダを作成するか、既存のフォルダを選択します。
  3. フォルダを開いた状態で、ブラウザのアドレスバーを確認します。
  4. URLは以下のような形式になっています: https://drive.google.com/drive/folders/1AbCdEfGhIjKlMnOpQrStUvWxYz12345
  5. この URL の最後の部分(例:1AbCdEfGhIjKlMnOpQrStUvWxYz12345)がフォルダIDです。

このフォルダIDは、Pythonスクリプトでスプレッドシートを作成したり開いたりする際に使用します。

6. 必要なライブラリをインストールする

コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行します:

pip install gspread
pip install gspread-formatting

これで準備は完了です!次は実際にPythonでスプレッドシートを操作してみましょう。

Pythonでスプレッドシートを操作してみよう

新しいスプレッドシートを作成する

import gspread

# JSONファイルへのパスを指定して認証を行う
gc = gspread.service_account(filename='path/to/your_json_file.json')

# 新しいスプレッドシートを作成する(フォルダIDを指定)
sh = gc.create('テスト1', folder_id='your_folder_id')

# 最初のワークシートを取得
ws = sh.get_worksheet(0)

# データを入力
ws.update('A1', 2024)
ws.update('A2', 'こんにちは、Pythonです!')

既存のスプレッドシートにデータを入力する

# 既存のスプレッドシートを開く
sh = gc.open('テスト1', folder_id='your_folder_id')
ws = sh.worksheet('Sheet1')

# 広範囲にデータを入力
numbers = [[i, i+100] for i in range(1, 101)]
ws.update('A1:B100', numbers)

スプレッドシートからデータを読み込む

# 1つのセルの値を取得
value = ws.acell('A1').value

# 1行または1列のデータを取得
row_data = ws.row_values(2)
col_data = ws.col_values(2)

# すべてのデータを取得
all_values = ws.get_all_values()

シートの追加と削除

# シートを追加
new_sheet = sh.add_worksheet(title='新しいシート', rows=100, cols=20)

# シートを削除
sh.del_worksheet(sh.worksheet('新しいシート'))

セルの書式設定を変更する

from gspread_formatting import *

# フォントを太字に、サイズを変更し、中央揃いにする
fmt = cellFormat(
    textFormat=textFormat(bold=True, fontSize=15),
    horizontalAlignment='CENTER'
)
format_cell_range(ws, 'A1:B1', fmt)

# 罫線を引く
border = Border('SOLID', Color(1, 0, 0))
fmt = CellFormat(borders=Borders(top=border, bottom=border, left=border, right=border))
format_cell_range(ws, 'A1:B2', fmt)

まとめ

この記事では、Pythonを使ってGoogleスプレッドシートを操作する方法を、環境構築から基本的な使い方まで詳しく解説しました。最初の準備には少し時間がかかりますが、一度設定してしまえば、その後の操作は非常に簡単です。

これらの技術を使えば、データ入力の自動化やレポート作成の効率化など、様々な業務改善が可能になります。ぜひ、自分の仕事に合わせてカスタマイズして活用してみてください!

Pythonの力を借りて、スプレッドシート操作をもっと簡単に、もっと効率的にしましょう!

ABOUT ME
tona-code
24/7月末の退職を機に、pythonを使った副業にチャレンジ。 初月から5万以上の収入を得たノウハウを発信中。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です