Fresopiya
場所にもお金にも時間にも、何にも縛られない自由な状態になったら一体人間は何をしてどこに向かうのか。

まずはとにかく自由を目指すエンジニアのブログです。
「哲学」と「プログラミング」と「政治経済」、「ブログ」がメインになるかと。
Python

【Python】PythonでGoogleスプレッドシートを操作する方法

どうも、とがみんです。

この記事では、PythonでGoogleスプレッドシートを操作するにあたって、必要な設定方法と、読み書きする方法について紹介していきます。

今回目指すもの

下の動画は、スプレッドシートから読み取った数に10を掛け、その結果をスプレッドシート に書き込んでいます。

Googleスプレッドシートを操作するための準備

「Google Cloud Platform」のページを開き、Googleスプレッドシートを操作するための準備を行なっていきます。

新しいプロジェクトの作成

「Google Cloud Platform」のページで新しいプロジェうとを作成します。

プロジェクトの選択を選択し、表示されたモーダル右上の新しいプロジェクトを選択します。

プロジェクト名を入力し、作成ボタンを押します。

GoogleAPIの有効化

PythonからGoogleスプレッドシートを操作するにあたって、「Google Drive」と「Google Sheets」のAPIを有効にします。

ライブラリを選択します。

以下のような画面に遷移するので「Google Drive」と「Google Sheets」を検索して有効化します。

有効化されているかどうかは、ダッシュボードから確認することができます。

認証情報の設定

外部アプリケーションからGoogleスプレッドシートにアクセスするために必要な情報を作成します。

認証情報を選択し、認証情報を作成を選択します。

そして、サービス アカウント キーを選択します。

次に「サービス アカウント キー」を作成するにあたって必要な情報を入力していきます。

役割は全てのリソースに編集アクセス権限が与えられる編集者にしています。

作成すると以下のような画面になり、JSON形式のファイルがPCに保存されます。

これで、認証情報の設定は完了です。

スプレッドシートの権限の設定

次に、Googleスプレッドシートに読み書きが行えるように設定します。

PCに保存されたJSON形式のファイルを開き、client_emailの値をコピーし、以下のユーザー欄に貼り付け、送信ボタンを押します。

これで、Googleスプレッドシートを操作するための準備が完了です。

Pythonで実際に読み書きしてみる

必要なライブラリをインストール

ターミナルを開き「gspread」と「oauth2client」ライブラリをインストールします。

「gspread」はGoogleスプレッドシートを操作するためのライブラリで、

「oauth2client」はGoogleの各種APIへアクセスするためのライブラリです。

$ pip install gspread
$ pip install oauth2client

認証情報の設定とスプレッドシートの取得

認証情報の設定とスプレッドシートの取得までの記事です。

スプレッドシートのキーとは、スプレッドシートを開いた時のURLの以下のスプレッドシートのキーの部分です。

https://docs.google.com/spreadsheets/d/スプレッドシートのキー/edit#gid=0

スプレッドシートの読み込み・加工・書き込み

以下のコードで、スプレッドシート の1列目の情報を読み取ります。

以下のコードで、読み込んだデータそれぞれに10をかけています。

以下のコードで、加工したデータをスプレッドシートに書き込みます。

>gsspread|python

まとめ

PythonでGoogleスプレッドシートを操作する方法について紹介しました。

参考文献

>【もう迷わない】Pythonでスプレッドシートに読み書きする初期設定まとめ

>gspreadで指定行にまとめて書き込み