MENU
カテゴリー

    Google ColaboratoryでGoogleスプレッドシートを操作する方法【超入門】

    こんにちは!この記事では、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 Cloud Platform(GCP)を使用して、Googleスプレッドシートに接続するのは大変!

    Googleスプレッドシートを、データベースにできる

    Colabは、データ分析や集計などに利用しますが、加工したデータをローカルファイルに保管しておくと、Colabのセッションが切れた際にデータが消去されてしまいます。

    Colabのセッション切れルール

    • アイドルタイムが、90分を超えた場合
    • 操作をして、12時間を超えた場合

    しかし、Googleスプレッドシートにデータを保管をしておくと、セッションが切れてもデータが消去される心配がありません。

    ColabとGoogleスプレッドシートは相性が抜群です!

    Google ColaboratoryでGoogleスプレッドシートを接続する手順

    Googleドライブを接続・マウントする

    Googleスプレッドシートを操作する前に、ColabとGoogleドライブを接続・マウントをする必要があります。

    STEP
    Colabの左にある、フォルダのマークをクリック
    STEP
    「ドライブをマウント」をクリック
    STEP
    「Goolgeドライブに接続」をクリック

    以上の手順で、Googleドライブの連携が完了しました。

    手動でマウントする方法だと、セッションを繋ぎ直した際に、毎回自動で、Googleドライブをマウントしてくれるので便利です!

    Googleスプレッドシートと接続・認証する

    STEP
    認証するためのコードを実行します。

    覚える必要はないので、コピペしてお使いください!

    # 認証のためのコード
    from google.colab import auth
    auth.authenticate_user()
    
    import gspread
    from google.auth import default
    creds, _ = default()
    
    gc = gspread.authorize(creds)
    STEP
    許可をクリック
    STEP
    自身のGoogleアカウントをクリック
    STEP
    許可をクリック

    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スプレッドシートを操作する手順

    1. Googleドライブを接続・マウントする
    2. Googleスプレッドシートと接続・認証する

    Colabを使うことで、Pythonで簡単にGoogleスプレッドシートの操作が出来ます!

    ColabでGoogleスプレッドシートを操作するために理解する内容

    • Googleスプレッドシートを開く
    • Googleスプレッドシートを新規作成
    • シートの操作
    • セルの操作

    以上が、「Google ColaboratoryでGoogleスプレッドシートを操作する方法【超入門】」のまとめです。

    ColabとGoogleスプレッドシートを組み合わせることで、柔軟かつ効率的なデータ操作や分析が可能になります。是非、この記事で紹介した方法を試してみて、自身の業務にも活用してみてください!

    この記事が気に入ったら
    フォローしてね!

    よかったらシェアしてね!
    • URLをコピーしました!
    目次