Python

Python(gspred)でスプレッドシートを操作する。

こんにちは(@t_kun_kamakiri)(^^)

この記事ではPythonを使ってGoogleスプレッドシートを操作する方法について解説を行います。

Pythonを使ってGoogleスプレッドシートを操作することができたら、応用としてGoogleスプレッドシートに書いた内容をTwitterに投稿するというのができるようになります(^^)

前回の記事ではPythonでTwitterAPIを利用してTwitterに画像付きで投稿することができました。

前回の記事

 

最近TwitterAPIを利用してGoogleスプレッドシートに書いた内容を自動投稿してくれるTwitterのbotを作成しましたが、まさに本記事と前回の記事内容の応用的な使い方ですね。

botくんの運用方法としては「製造業ブロガー」の方々と共有でGoogleスプレッドシートに投稿内容をまとめPythonを使って定期的に自動でツイートしてもらうという仕組みを作りました。

本記事のシリーズではPythonでTwitterAPIを利用してGoogleスプレッドシートから自動投稿までの軌跡をまとめていきます。

こんな方ことがしてみたい方が対象

PythonでTwitterAPIを利用

さらに今後は「Twitterの投稿内容のデータ分析」や「誰でも使える分析ツールの自作」までできればワクワクしてきませんかね(^^)

では、本記事の内容です。

本記事の内容

PythonでTwitterAPIを使って

  • GoogleスプレッドシートAPI取得
  • PythonでGoogleスプレッドシートの操作

ここではPythonを使います。

Python3.7.6(Anaconda)

僕はデイトラPythonコースで勉強することで短期間で色々なことができるようになりました。↓こちらで学んだ内容をアレンジして記事を書いています(^^)

TwitterAPIの申請は事前に行っていることが前提です。
Twitterアカウント作成やTwitterAPIの申請は↓こちらの記事に書いていますのでご参考ください。

ツイート情報の取得(TwitterAPI申請)

 

スポンサーリンク

GoogleスプレッドシートとPythonを連携する

PythonはExcelを操作するライブラリとして「OpenPyXL」や「xlwings」などがあります。
しかしExcelはローカル環境において操作することがほとんどで、Pythonをサーバー上において実行するとなるとローカルにおいているExcelファイルを操作するのは少々面倒です。

Googleスプレッドシートならクラウド上に置いているのでGoogle Drive APIを取得することでGoogleスプレッドシートを操作することができます。

Google Drive API取得
↑こちらの記事を参考にして「STEP5:秘密鍵(JSONデータ)を保存」まで行ってください。
ここでやることは以下の2つです。
  1. JSONファイルの取得
    Pythonのコードで使うのはJSONファイル内のメールアドレスの部分です。
  2. スプレッドシートURLのキーを取得
    Pythonコードで使うのはスプレッドシートURLのキーです。「キー」はURLの「/d」と「/edit」の間の英数字です。

    これをPythonのコード内では「SPREADSHEET_KEY」という変数名で文字列にしておきます。

.envファイルを用意

Pythonコードを書く前に準備が必要です。

Pythonのコード内で先ほど取得したSPREADSHEET_KEYを認識させる必要があるのですが、コード内に直接べた書きするとセキュリティ的に良くないので、「.env」ファイルから読み込むようにします。

「.ipynb」と同じフォルダ内に「.env」ファイルを作成します。

これで認証用のキーの設定を読み込める準備ができました。

必要なライブラリは事前にターミナルでインストール

必要なライブラリは事前にターミナルでインストールしておきましょう。

AnacondaのPythonを使っている場合はpipコマンドで外部ライブラリをインストールするとファイルがぐちゃぐちゃになって壊れてしまう可能性があるため「conda install ライブラリ名」とGoogle検索してインストール方法を調べてください。
今回必要、Anacondaでインストールされていないライブラリは以下なのでインストールしておきます。

また、モジュールのimportでエラーがでたら上記のように適宜インストールをしてください_(._.)_

gspredのOAuth2認証にgspredの公式サイトには以下のように書かれています。

Note

Older versions of gspread have used oauth2client. Google has deprecated it in favor of google-auth. If you’re still using oauth2client credentials, the library will convert these to google-auth for you, but you can change your code to use the new credentials to make sure nothing breaks in the future.

oauth2clientではなく、google-authを使うことを推奨するという内容ですね。

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

Pythnoを使ってGoogleスプレッドシートを操作する練習をしてみます。

使うライブラリは「gspread」ですのでインストールしていない方は「pip install gspread」でインストールしておきましょう。

gspreadのライブラリはドキュメントに詳しく書かれているのでそちらをご参考ください。

gspreaのドキュメント

 

では、ここからはJupyter labで実際にコードを実行させながら理解をしていければと思います。

Pythonを使ってGoogleスプレッドシートの操作は以下の5つを覚えておけば色々なことができます。

  1. シートの追加
  2. シートのコピー
  3. シートの削除
  4. セルの値の取得
  5. セルの値の代入

では、こちらがjupyter labでひとつひとつ動作を確認してみてください。

カマキリ

これでPythonを使ってGoogleスプレッドシートの操作ができるようになりました

まとめ

PythonでGoogleスプレッドシートの操作を行いました。

次回は今回できるようになったPythonを使ってGoogleスプレッドシート操作に加えてTwitterAPIでツイートまでしてみましょう。

次回の記事はこちら

こちらの記事はパスワード保護(有料コンテンツ)となっています。

ご購入はこちらからよろしくお願いいたします。

Pythonの理解にはこちらの参考書で勉強しています。

独習Python

独習Python

山田 祥寛
3,234円(04/26 23:59時点)
発売日: 2020/06/22
Amazonの情報を掲載しています
関連記事もどうぞ

COMMENT

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