この動画では、Googleスプレッドシートのデータ取得、データ操作をPythonで取得して作業を自動化する方法について解説をします。
PythonでGoogleスプレッドシートを操作の方法を覚えれば、作業を効率化でき、また他の作業を効率化できるかもしれません。
例えば、Pythonでは、Excelの自動化、データベースからのデータ取得、Webスクレイピングを使ってのデータ取得、予測の分析、Gmail送信、それらのpythonの定期実行などをすることができます。それらと自動化と今回のGoogleスプレッドシートの自動化を組み合わせれば、色々な作業を自動化できます。
あなたの作業は、プログラミングのPythonで自動化できるかもしれません。
ぜひ頑張って習得してみてください。
00:00 はじめに
02:18 Googleスプレッドシートからデータを読み込む準備
08:11 Googleスプレッドシートのデータの読み込み
10:42 Googleスプレッドシートから読み込んだデータの集計
14:29 データフレームをGoogleスプレッドシートに書き出す
17:10 複数集計して自動で新しいシートに書き出す
20:46 おわりに
▼関連動画
Pythonで面倒なExcelの仕事を自動化しよう【第一弾】
Pythonで面倒な「ブラウザ操作」や「データ収集」の作業を自動化しよう
Pythonで面倒な「メール配信(Gmail)」の作業を自動化しよう
Python超入門コース |Pythonの超基本的な部分をたった1時間で学べます【プログラミング初心者向け入門講座】
▼自己紹介
現在:フリーランス(マーケティング関連の人工知能開発、データ分析や業務自動化など)
前職:リクルート
▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook :https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/
▼文字書き起こし
まず、Googleスプレッドシートからデータを読み込む方法を見ていきましょう。
Googleスプレッドシートからデータを読み込めるようになるためには、6つのステップを踏む必要があります。
1つめに、Google Cloud Platformのプロジェクトを作成します。
2つめに、Google Drive APIを有効にします
3つめに、Google Sheets APIを有効にします
4つめに、外部アプリからスプレッドシートにアクセスするための認証情報を設定します
5つめに、スプレッドシート側の共有設定をします
最後に、実際にプログラムを書く
というステップです。
このステップを簡単に説明します。1~3の設定は、Googleが提供している「スプレッドシートを操作するためのAPI」を使えるようにするための設定です。
4~5の設定は、プログラムを書いてデータを取得するなど外部から使えるようにするための設定です。
では1つずつステップを画面をみながら設定を進めていきます。まずはGoogle Cloud Platformのプロジェクトを作成します。
https://console.developers.google.com/ にアクセスします。
ゲストブラウザなどでログインをしているとメールアドレスとパスワードを求められるので入力をしましょう。
同意にチェックをいれて続行です。
画面が切り替わるのでプロジェクトを作成をクリック。
プロジェクト名を入力します。
今回はMyProjextTestとしましょう。「作成」をクリックします。
これでプロジェクトが作成されました。次にGoogle Drive APIを有効にします。
サイドバーにある「ライブラリ」を選択します。
検索フォームに「Drive」と入力し検索します。
Google Drive APIが表示されるので選択し、「有効にする」をクリックします。
これでGoogle Drive APIを有効にできました。同じ方法でGoogle Sheets APIも有効にしましょう。
画面上部にAPI検索フォームがあるので、今度は「sheets」と入力して検索します。
Google Sheets APIが表示されるので選択し、「有効にする」をクリックします。
これでAPIの有効化は完了です。
有効になると、自動が画面が切り替わります。
念のため、正常に有効化できているか確認しましょう。
左上のロゴ「GoogleAPIs」をクリックします。
ダッシュボードの下部に有効化したAPIの一覧が表示されます。2つのAPIの名前があれば正常に有効化されているので確認しましょう。
次に外部アプリからAPIを使えるように認証情報の設定をしましょう。
サイドバーの「認証情報」を選択します。
画面上部の「認証情報を作成」をクリックし「サービスアカウント」を選択します。
サービスアカウント名を入力して「作成」をクリックします。
次に作成するサービスアカウントの権限を設定します。
ロールのプルダウンからProjectを選択し、その中から「編集者」を選びます。
選択したら「続行」をクリックします。
次の画面に遷移しますが、そのまま「完了」をクリックします。
これでサービスアカウントが作成されました。画面下部のサービスアカウント欄に作成したアカウントが表示されていれば正常です。
次に秘密鍵を作成します。秘密鍵とはAPIがある部屋への鍵だと思ってください。これがないとAPIヘアクセスできません。
サービスアカウント欄のメールアドレスをクリックします。
サービスアカウントの詳細に遷移するので、「キー」項目の「鍵を追加」をクリックし「新しい鍵を作成」を選択します。
キーのタイプを聞かれるので「JSON」を選択して「作成」をクリックします。
正常に処理が終了するとjsonファイルがダウンロードされます。これが秘密鍵なので無くさないようにしましょう。
特にこだわりがなければJupyterLabと同じ階層に置いておくと、プログラム内で秘密鍵を指定する箇所がシンプルになります。
これで認証設定は完了です。
次にスプレッドシート側の共有設定をします。
先ほど作成したサービスアカウントがスプレッドシートにアクセスし、読み書きができるようにするために必要です。
対象のスプレッドシートを開き、画面右上の「共有」をクリックします。
「ユーザーやグループを追加」入力欄に、サービスアカウントのメールアドレスをコピー&ペーストします。GoogleAPIにはメールアドレスがあるわけではありませんので通知はできません。通知のチェックは外しておきましょう。
権限が編集者になっていることを確認したら「共有」をクリックします。
これでサービスアカウントにスプレッドシートの編集権限が与えられました。
ここまで設定が完了したら、最後にPython側からサービスアカウントを通してスプレッドシートを操作するプログラムを書きましょう。
プログラムを書く前に必要なPythonライブラリをpipでインストールします。
私はDockerを使っているので、コンテナの内部に、名前を指定して入ります。
このDockerの使い方については「理屈はさておき、最速でDockerを使ってPythonのデータ分析の環境構築をする」という動画で説明しているのでそちらをご覧ください。
エンターでコンテナ内に入ります。
次にpipで、スプレッドシートを操作するためgspread、認証情報を処理するために必要なoauth2clientのライブラリをインストールしましょう。
$ pip install gspread oauth2client
続きは文字書き起こしブログにて。
▼文字書き起こしブログ
https://kino-code.com/python_spreadsheets/
#PythonとGoogleスプレッドシート #Python自動化 #Pythonでプログラミング学習
▼お仕事のお問い合わせ
キノコードでは、仕事の自動化の開発業務&コンサルティング業務のみを現在受け付けております。
お問い合わせ先かTwitterのDMか、「キノコードトップページ→概要」にあるメールアドレスまでお問い合わせください。
コメント
先生ぜひGoogle Apps ScriptでPCにあるExcelデータを毎日自動にspreadsheetに同期する動画をお願いします。
Dockerのところに引っかかっ、それを使わないと進められないでしょうか?そのままjupyterLab上で同じpip install gspraedで試してみたらERROR: Could not find a version that satisfies the requirement oauth2clinet (from versions: none)
ERROR: No matching distribution found for oauth2clinetエラー出ました。
とてもわかりやすいです。質問なのですが、drive APIとspredsheet APIは無料でしょうか?リクエスト制限などはありますか?