理系夫婦の方程式(りけいふうふのほうていしき)です。2019.09.03Python超初心者が『ブログの検索順位を取得するツール』を作ろうと奮闘しています。前回まで、Google検索結果から自分のブログの順位を取得する部分を作成しました。今回は、検索キーワードを一覧にしたファイルを読み込む部分を作っていきます。ファイルはExcelファイルを使用。PythonはExcelを扱うモジュールも揃っていて便利ですね。一から調べつつ、Excelファイルを読み込む部分を作ってみました。あわせて読みたいPython超初心者:リストを部分一致検索して要素を取得PythonでGoogle検索結果をリストで取得し、その中から自分のブログのURLを検索して順位を取得するプログラムを作成しました。URLを部分一致(前方一致)で検索します。読み込みたいファイル今回はExcelファイルに検索キーワード一覧を入れ、それを読み込ませます。テキストファイルやcsvファイルでも良いのですが、検索結果を別シートに乗せて1つのファイルで保存できるExcelが便利と判断。以下のようなExcelファイルを作成しました。読み込みたいExcelファイルシートは2つ。「検索ワード」と「検索順位」です。「検索ワード」シートに検索キーワードを5つほど入れてあります。「検索順位」シートは白紙状態です。openpyxlのインストールまずはPythonでExcelファイルを扱うのに必要なモジュールをインストールします。今回使うのは「openpyxl」というものです。参考:【Python入門】Excel(エクセル)を操作(読み書き)するには?openpyxlのインストールいつものように、pipコマンドでインストールしました。MENTAでプログラミングを学ぼうExcelファイルを読み込む検索ワード一覧が入っているExcelファイルを読み込むコードを作ってみます。ソースコード以下のページを参考に、Excelファイルを読み込む部分を作成しました。書き込まれているセルの最終行を取得リストにセルの値を追加していくリストの表示といった流れです。上記ソースコードを実行してみました。実行結果きちんとExcelファイルの中身を読み込めてはいるけど、良くわからない警告文が2つ出てしまっています。このままでもいいけど、警告を取ってすっきりしたい。消すには?「DeprecationWarning」を調べてみると、古い関数で廃止される可能性がある関数なので、違うのを使えという警告みたいです。参考:OpenPyXLでget_sheet_names()使用時のDeprecationWarning簡単に警告を消すことができそう。以下のようにソースを修正してみました。#最終行までループ#セルの値をリストに追加word_list.append(ws.cell(row=i+1,column=1).value)#検索ワードリストの表示print(word_list)変更点は2か所です。1Excelブックのシート名一覧取得の関数を「book.get_sheet_names()」から「book.sheetnames」に変更。2シートを変数に設定する関数を「book.get_sheet_by_name(シート名)」から「book[シート名]」に変更。警告文に書いてある通りの関数を使用することにしました。無事、警告が出なくなりました。シート名と検索ワード一覧のみ出力されています。これで検索キーワード一覧を取得する部分はOK。次は検索結果の順位をExcelに書き出す部分を作っていきます。~おススメのプログラミング独学方法はこちらの記事にまとめました!あわせて読みたいプログラミングのおススメ独学方法は2パターン(あなたはどっち?)プログラミングを独習する場合、そのパターンは大きく2つに分かれます。網羅的に全体を学習したい場合と、作りたいものが明確な場合です。それぞれのパターンにおススメの勉強方法を、エンジニア歴7年の理系妻が紹介します。応援よろしくお願いします☆にほんブログ村ファミリーランキングこの記事を書いた人まゆみ理系夫婦の妻のほうです。大学、大学院(修士)で物理を専攻。2016年に長女を出産。フルタイム勤務ワーママ→休職中。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。SWELL.検索する。