Home » Python » OpenPyXL » OpenPyXLでget_sheet_names()使用時のDeprecationWarning

OpenPyXLでget_sheet_names()使用時のDeprecationWarning

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

ここ数日、PythonからExcelを操作してみています。

以上のような記事を書くなかで初めてOpenPyXLを触ってみて、良くできているなぁ、と感じる仕組みがあります。

退屈なことはPythonにやらせよう―ノンプログラマーにもできる自動化処理プログラミング』でも紹介されているget_sheet_names()を実行したときに、その仕組みに気付きました。

[スポンサードリンク]

全シート名を取得するサンプル

以下のようなコードを実行すると、C:\temp\foo.xlsxブックの、全シート名を取得できます。


import openpyxl
wb = openpyxl.load_workbook('C:\\temp\\foo.xlsx')
wb.get_sheet_names()

このコードを私の環境で実行すると、下図のような状態になりました。

get_sheet_names()で表示されるDeprecationWarning

良くできているなぁと感じたのは、


Warning (from warnings module):
 File "__main__", line 1
DeprecationWarning: Call to deprecated function get_sheet_names (Use wb.sheetnames).


という警告のあとに、シート名が、
  ['Sheet1', 'Sheet2', 'Sheet3']
と出力される点です。

この警告はget_sheet_names()は、廃止される可能性がある(deprecated)ため、sheetnamesを使いなさいと教えてくれています。

指示されたsheetnamesを使って、
  print(wb.sheetnames)
を実行すると、確かにシート名が出力されます。

Excelの関数でもこういう仕組みが欲しい

Excelの関数は、最近増えています。

その中には、昔から似たような関数があったけれども、明らかに使いやすい新しいものがあります。

そういった場合、古い関数を使おうとしたときには、こういった警告が出るとありがたいのになあと感じます。

最終更新日時:2019-04-25 12:10

[スポンサードリンク]

Home » Python » OpenPyXL » OpenPyXLでget_sheet_names()使用時のDeprecationWarning

TrackBack:0

TrackBack URL

Home » Python » OpenPyXL » OpenPyXLでget_sheet_names()使用時のDeprecationWarning

Copyright © インストラクターのネタ帳 All Rights Reserved.

.