こんにちは(@t_kun_kamakiri)(^^)
この記事ではPythonを使ってGoogleスプレッドシートを操作する方法について解説を行います。
Pythonを使ってGoogleスプレッドシートを操作することができたら、応用としてGoogleスプレッドシートに書いた内容をTwitterに投稿するというのができるようになります(^^)
前回の記事ではPythonでTwitterAPIを利用してTwitterに画像付きで投稿することができました。
最近TwitterAPIを利用してGoogleスプレッドシートに書いた内容を自動投稿してくれるTwitterのbotを作成しましたが、まさに本記事と前回の記事内容の応用的な使い方ですね。
4枚の画像付きのTwitterAPIで投稿! pic.twitter.com/uOSXikScJg
— 製造業ライフハック (@D7rWgT9tpBVjm8T) January 14, 2021
botくんの運用方法としては「製造業ブロガー」の方々と共有でGoogleスプレッドシートに投稿内容をまとめPythonを使って定期的に自動でツイートしてもらうという仕組みを作りました。
本記事のシリーズではPythonでTwitterAPIを利用してGoogleスプレッドシートから自動投稿までの軌跡をまとめていきます。
PythonでTwitterAPIを利用
- ツイート情報の取得
- ツイート投稿
- 複数の画像を付きでツイート投稿
- Googleスプレッドシートとの連携←本記事の内容
- Googleスプレッドシートから画像付きの投稿
- 既存のTwitterAPIで他のアカウントでも投稿
- トレンドの取得と分析
さらに今後は「Twitterの投稿内容のデータ分析」や「誰でも使える分析ツールの自作」までできればワクワクしてきませんかね(^^)
では、本記事の内容です。
PythonでTwitterAPIを使って
- GoogleスプレッドシートAPI取得
- PythonでGoogleスプレッドシートの操作
ここではPythonを使います。
Python3.7.6(Anaconda)
僕はデイトラPythonコースで勉強することで短期間で色々なことができるようになりました。↓こちらで学んだ内容をアレンジして記事を書いています(^^)
TwitterAPIの申請は事前に行っていることが前提です。
Twitterアカウント作成やTwitterAPIの申請は↓こちらの記事に書いていますのでご参考ください。
GoogleスプレッドシートとPythonを連携する
PythonはExcelを操作するライブラリとして「OpenPyXL」や「xlwings」などがあります。
しかしExcelはローカル環境において操作することがほとんどで、Pythonをサーバー上において実行するとなるとローカルにおいているExcelファイルを操作するのは少々面倒です。
Googleスプレッドシートならクラウド上に置いているのでGoogle Drive APIを取得することでGoogleスプレッドシートを操作することができます。
- JSONファイルの取得
Pythonのコードで使うのはJSONファイル内のメールアドレスの部分です。
- スプレッドシート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のライブラリはドキュメントに詳しく書かれているのでそちらをご参考ください。
では、ここからはJupyter labで実際にコードを実行させながら理解をしていければと思います。
Pythonを使ってGoogleスプレッドシートの操作は以下の5つを覚えておけば色々なことができます。
では、こちらがjupyter labでひとつひとつ動作を確認してみてください。
まとめ
PythonでGoogleスプレッドシートの操作を行いました。
次回は今回できるようになったPythonを使ってGoogleスプレッドシート操作に加えてTwitterAPIでツイートまでしてみましょう。
こちらの記事はパスワード保護(有料コンテンツ)となっています。
ご購入はこちらからよろしくお願いいたします。
Pythonの理解にはこちらの参考書で勉強しています。