Python超初心者:PythonでExcelファイルを読み込む

2019 9/03
Python超初心者:PythonでExcelファイルを読み込む

Python超初心者が『ブログの検索順位を取得するツール』を作ろうと奮闘しています。

前回まで、Google検索結果から自分のブログの順位を取得する部分を作成しました。

今回は、検索キーワードを一覧にしたファイルを読み込む部分を作っていきます。

ファイルはExcelファイルを使用。
PythonはExcelを扱うモジュールも揃っていて便利ですね。

一から調べつつ、Excelファイルを読み込む部分を作ってみました。

目次

読み込みたいファイル

今回はExcelファイルに検索キーワード一覧を入れ、それを読み込ませます。

テキストファイルやcsvファイルでも良いのですが、検索結果を別シートに乗せて1つのファイルで保存できるExcelが便利と判断。

ひとまず、以下のようなExcelファイルを作成しました。

検索ワード一覧があるエクセルファイル
読み込みたいExcelファイル

シートは2つ。「検索ワード」と「検索順位」です。

「検索ワード」シートに検索キーワードを5つほど入れてあります。
「検索順位」シートは白紙状態です。

openpyxlのインストール

まずはPythonでExcelファイルを扱うのに必要なモジュールをインストールします。

今回使うのは「openpyxl」というものです。

参考:【Python入門】Excel(エクセル)を操作(読み書き)するには?

openpyxlのインストール
openpyxlのインストール

いつものように、pipコマンドでインストールしました。

Excelファイルを読み込む

検索ワード一覧が入っているExcelファイルを読み込むコードを作ってみます。

ソースコード

以下のページを参考に、Excelファイルを読み込む部分を作成しました。

参考:PythonでExcel作業を自動化するOpenPyXLのはじめての使い方

やっていることは、

  1. Excelファイルを開く
  2. シート名を取得、表示
  3. 検索ワードのシートを設定
  4. 書き込まれているセルの最終行を取得
  5. リストにセルの値を追加していく
  6. リストの表示

といった流れです。

実行結果

上記ソースコードを実行してみました。

Excelファイルを読み込むコードの実行結果
実行結果

きちんとExcelファイルの中身を読み込めてはいるけど、良くわからない警告文が2つ出てしまっています。

このままでもいいけど、警告を取ってすっきりしたい。

DeprecationWarning を消すには?

「DeprecationWarning」を調べてみると、古い関数で廃止される可能性がある関数なので、違うのを使えという警告みたいです。

参考:OpenPyXLでget_sheet_names()使用時のDeprecationWarning

簡単に警告を消すことができそう。

以下のようにソースを修正してみました。

変更点は2か所です。

①Excelブックのシート名一覧取得の関数を「book.get_sheet_names()」から「book.sheetnames」に変更。

②シートを変数に設定する関数を「book.get_sheet_by_name(シート名)」から「book[シート名]」に変更。

警告文に書いてある通りの関数を使用することにしました。

修正版の実行結果

警告が出ないように修正したコードを実行してみると

修正したコードの実行結果
修正した結果

無事、警告が出なくなりました。
シート名と検索ワード一覧のみ出力されています。

これで検索キーワード一覧を取得する部分はOK。

次は検索結果の順位をExcelに書き出す部分を作っていきます。

んじゃ、また~

関連記事

応援よろしくお願いします☆

この記事を書いた人

理系夫婦の妻のほうです。
大学、大学院(修士)で物理を専攻。
2016年に長女を出産。
フルタイム勤務ワーママ→休職中。
「CrowdWorks(クラウドワークス)」でお仕事受け付けております!
(ツール開発、記事執筆など)
「まゆみ1101」というユーザー名です!

コメント

コメントする

目次
閉じる