こんにちは!この記事では、Google ColaboratoryとPythonを使って、Googleスプレッドシートを簡単に操作する方法を、分かりやすく解説していきます。
Googleスプレッドシートは、データの整理や可視化、共有など、さまざまな目的に利用されています。
一般的に、PythonでGoogleスプレッドシートを操作する場合は、接続のために面倒な工程が多く大変です。しかし、Colabを使うことでスムーズに連携しスプレッドシートの操作が出来るようになります!
Colabは、データサイエンスや機械学習の分野で広く利用されている便利なツールです!
Google Colaboratoryとは?
Colabは、ブラウザで Pythonを実行できるクラウドベースのプログラミング環境です。無料かつ手軽に利用できる環境として、機械学習やデータ分析の分野で人気です。
Colabの特徴
- インターネット環境があれば、どこからでも利用できる
- 有名なライブラリが既にインストールされている
- 強力な GPUが使えるため、機械学習モデルのトレーニングに利用できる
- コードを簡単に共有・共同編集できる
Google Colaboratoryで、Googleスプレッドシートを操作するメリット
Colabで、Googleスプレッドシートを操作するメリット
- PythonでGoogleスプレッドシートの自動化が簡単にできる
- Googleスプレッドシートを、データベースにできる
Googleスプレッドシートの操作をする際に、Pythonコードで操作できるので、Colabを利用することで、スプレッドシートをより効率的に操作することができます。
PythonでGoogleスプレッドシートの自動化が簡単にできる
Colabは、Googleが提供しているサービスなので、Googleドライブへのマウントや接続が出来るようになっています。
そのため、Googleスプレッドシートの接続や自動化も簡単に実行可能です!
Colabを使うことで、簡単にPythonでGoogleスプレッドシートの操作が出来る!
一般的に、PythonでGoogleスプレッドシートを自動化する際は、Goolge Cloud Platform(GCP)というサービスを利用します。
クレジットカードの登録や、Googleアカウント・Googleドライブの紐付け、GoogleスプレッドシートのAPIへの接続など、複雑な作業が必要です。
Googleスプレッドシートを、データベースにできる
Colabは、データ分析や集計などに利用しますが、加工したデータをローカルファイルに保管しておくと、Colabのセッションが切れた際にデータが消去されてしまいます。
Colabのセッション切れルール
- アイドルタイムが、90分を超えた場合
- 操作をして、12時間を超えた場合
しかし、Googleスプレッドシートにデータを保管をしておくと、セッションが切れてもデータが消去される心配がありません。
ColabとGoogleスプレッドシートは相性が抜群です!
Google ColaboratoryでGoogleスプレッドシートを接続する手順
Googleドライブを接続・マウントする
Googleスプレッドシートを操作する前に、ColabとGoogleドライブを接続・マウントをする必要があります。
以上の手順で、Googleドライブの連携が完了しました。
手動でマウントする方法だと、セッションを繋ぎ直した際に、毎回自動で、Googleドライブをマウントしてくれるので便利です!
Googleスプレッドシートと接続・認証する
# 認証のためのコード
from google.colab import auth
auth.authenticate_user()
import gspread
from google.auth import default
creds, _ = default()
gc = gspread.authorize(creds)
PythonでGoogleスプレッドシートを操作する専用のライブラリ「gspread」のインポートも同時に完了しました!
使用するPythonのライブラリ
gspread
クリックを進めるだけで、Googleスプレッドシートとの接続が出来ます
Google ColaboratoryでGoogleスプレッドシートを操作する
それでは、ここからGoogleスプレッドシートを操作する方法を解説していきます。
Googleスプレッドシートを開く
Googleスプレッドシートを開く方法は、大きく分けると二種類です
- スプレッドシート名で開く
- アドレスで開く
# ❶スプレッドシート名で開く(拡張子は入力不要)
filename = "スプレッドシート名"
ss = gc.open(filename)
# ❷アドレスで開く
url = "https://docs.google.com/spreadsheets/*******"
ss = gc.open_by_url(url)
「SS」の中に開いたスプレッドシートを代入しています。
本当に開けているか、ファイル名を確認してみましょう。
# ファイル名を取得する
ss.title
ファイル名が表示されれば、希望のGoogleスプレッドシートが取得出来ています!
Googleスプレッドシートを新規作成する
# スプレッドシートを新規作成する
filename = "新しいスプレッドシート名"
ss = gc.create(filename)
シートを操作する
Googleスプレッドシートの中の、シート(タブ)を操作する方法を紹介します。
シートの取得方法
- シート名からシートを取得する
- インデックス番号からシートを取得する
# ❶シート名からシートを取得する
ws = ss.worksheet('シート名')
# ❷インデックス番号からシートを取得する。
ws = ss.get_worksheet(0)
インデックス番号とは、プログラミングで使用する番号のことです。普通は数を数える際「1」から始まりますが、プログラミングの世界では「0」から始まります。
取得したシート名の確認方法
# シート名を取得する
ws.title
全てのワークシートをリストで取得
# 全てのワークシートをリストで取得
ss.worksheets()
ずべてのワークシートをリスト形式で取得できます。また、ここから、シート名や、シートIDも取得できるため便利です。
シートを作成する方法
# シートを作成する(rows,colsは必ず必要)
# 同じ名前がある場合はエラー
ss.add_worksheet(title="新しいシート", rows=100, cols=20)
rows=100, cols=20を指定することで、100行、20列までのシート作成を指定ができます。rows、colsの引数は必ず必要です。
シート名を更新・変更する方法
ws.update_title("新しいシート名")
希望の「ws」を上記のワークシートを取得する方法で指定し、シート名を変更することができます。
シートIDの取得方法
# シートid取得
ws_id = ss.get_worksheet(0).id
シートをコピーする方法
# シートのコピー(シートIDが必要)
ss.duplicate_sheet(source_sheet_id = "シートid", new_sheet_name = "コピーシート名", insert_sheet_index = 3)
「insert_sheet_index」で挿入するシートの順番を指定できます。
シートを削除する方法
# ワークシートを削除
# 存在しない場合はエラー
ss.del_worksheet(ws)
セルを操作する
シート内のセルを操作する方法の解説です。
セルの操作ができるようになると、Pythonを使って値を入力するなどが出来るようになります。
セルの値(単一)を取得する方法
# ❶単セル 値の取得(行, 列)
b1 = ws.cell(1, 2).value
# ❷単セル 値の取得(A1)
a1 = ws.acell('A1').value
セルの値(範囲・複数)をリストで取得する方法
# 範囲内でセルオブジェクトをリストで取得
A1range = ws.range('A1:C10')
# 指定行の値をリストで取得
row = ws.row_values(2)
# 指定列の値をリストで取得
col = ws.col_values(2)
# 全ての値を二重配列で取得
values = ws.get_all_values()
セル(単一)に値を入力する方法
# ❶(行、列、値)で値を入力
ws.update_cell(1, 2, "入力したい値")
# ❷A1に値を入力
ws.update_acell('A1', 1)
# スプレッドシートの関数を入力する
ws.update_acell('A4', '=SUM(A1:A3)')
セル(複数)に値を入力する方法
# 複数のセルに値の入力。一番下に行優先で入力される
datas = [1, 2, 3]
ws.append_row(datas)
# 複数のセルに値を入力(複数行)
datas = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row_data in datas:
ws.append_row(row_data)
その他の便利な操作
# 最終行の取得
last_row = len(ws.get_all_values())
# シート内の値を全て削除
ws.clear()
# 指定した文字列を検索して一番最初にマッチしたセルを取得
cell = ws.find("検索したい文字列")
# 指定した文字列を検索してマッチした全てのセルを取得
cells = ws.findall("検索したい文字列")
まとめ
Google Colaboratoryを使用してGoogleスプレッドシートを操作する方法について、初心者方向けに詳しく説明しました。本日の内容をまとめます。
Colabで、Googleスプレッドシートを操作するメリット
- PythonでGoogleスプレッドシートの自動化が簡単にできる
- Googleスプレッドシートを、データベースにできる
Colabは、Googleが提供しているサービスなので、Googleドライブへのマウントや接続が出来るようになっています。
そのため、Googleスプレッドシートの接続や自動化も簡単に実行可能です!
Colabで、Pythonを使ってGoogleスプレッドシートを操作する手順
- Googleドライブを接続・マウントする
- Googleスプレッドシートと接続・認証する
Colabを使うことで、Pythonで簡単にGoogleスプレッドシートの操作が出来ます!
ColabでGoogleスプレッドシートを操作するために理解する内容
- Googleスプレッドシートを開く
- Googleスプレッドシートを新規作成
- シートの操作
- セルの操作
以上が、「Google ColaboratoryでGoogleスプレッドシートを操作する方法【超入門】」のまとめです。
ColabとGoogleスプレッドシートを組み合わせることで、柔軟かつ効率的なデータ操作や分析が可能になります。是非、この記事で紹介した方法を試してみて、自身の業務にも活用してみてください!