Google Search ConsoleのエクセルデータをStreamlitで表示する方法

この記事は約4分で読めます。
広告

Google Search Consoleの検査順位のデータ(EXCELファイル)をダウンロードし独自に集計するアプリの作り方です。やっていることはGoogle Search Consoleで検索パフォーマンス→日付を過去12カ月にして何かクエリを選んだときと同じです。しかも各月のデータなので12点しかない。しかしクエリの選び方は本家より操作しやすいかと思ってます。

対象
ブログをGoogle Search Consoleに登録していなくてもExcelファイルをPythonで処理して公開するアプリの参考になると思います。

必要な知識
Pythonの基本、ライブラリpandas、Git、GitHubの基本

必要な環境
Pythonが動く環境、エディタ(VSCodeなど)
私の場合Windows11、PythonはAnacondaをインストールしてJupiterNotebookで開発。エディタはVSCode。

今回作ったもの イチゲブログのGoogle Search Console検索データ分析

Excelがパソコンに入ってなくても大丈夫です。Excelの中身を見るのは無料の Web 版 Officeで見られます。

Stramelitについては、こちらを参考にしてください。

広告

プログラム概要

  1. Excelデータ準備(Google Search Consoleから12か月分、手動でダウンロード)
  2. 12個のExcelファイルを連結しcsvファイルで書き出す。(JupiterNotebookで作業)
  3. Streamlitでcsvを読み込んで表示(Streamlit Cloudで処理・公開)

Excelデータ準備

UserWarning: Workbook contains no default style, apply openpyxl’s defaultの原因

今回のコードを実行すると出ます。
openpyxlではなくExcelで作った既存のファイルを開くと出るようです。ワーニングなので動きはします。以下でワーニングが出る原因確認できます。

openpyxlで新規作成
from openpyxl import Workbook

wb=Workbook()
wb.save('output.xlsx')

そのファイルを開いたときはワーニング出ない。
from openpyxl import load_workbook
wb=load_workbook(filename='output.xlsx')


openpyxlではなくExcelで作った既存のExcelファイルを開くとワーニングでる。(2回目など出ないときもある。)
wb=load_workbook(filename='openpyxlではなくExcelで作った既存のファイル.xlsx')

Excelシートダウンロード

1カ月ごと1年分12ファイルExcelとしてダウンロードしました。
Google Search Console→検索パフォーマンス→日付:過去 3 か月間(デフォルト)クリック→カスタムで開始日、終了日を同じ日付にする→適用
エクスポート→Excelとしてダウンロード
私のブログのデータのcsvファイルは、後で出てくるGitHubにありますので、それを利用してもいいです。

必要なデータを抽出してcsvファイルに変換

csvに変換するとTimeオブジェクトが文字列に代わるので注意。
もう一つローカルだけで使う分には関係ありませんが、GitHubにプッシュする場合の注意点があります。
Streamlit Cloudでパブリックで公開する場合GitHubでもパブリックにしなければならない。なのでExcelをそのままGitHubにプッシュするのはやめたほうがいいと思います。Excelのシートにはいろんな情報が入っているため気づかないでプライベートな情報を公開してしまうかもしれません。csvに必要なデータを抽出して使っていればシンプルな構造のファイルなので把握しやすいです。またローカルで開発中Streamlitのファイルと一緒のフォルダにExcelファイルを置いている状態でGitHubにプッシュすると一緒にGitHubにプッシュされてしまうので注意が必要です。.gitignoreを使うとかフォルダを別にするとか削除するなどして気を付けてください。

ということで今回はcsvに一旦、必要なデータだけを抽出する工程が入ってます。

以降はこちらのZenn本に書いてあります。

この記事を書いたイチゲを応援する
Vプリカでのお支払いがおすすめです。
MENTAやってます(ichige)

コメント

タイトルとURLをコピーしました