動作検証バージョン:Windows 10 + Python 3.7.3 + xlrd 1.2.0
OpenPyXLのmax_row・max_columnについて記事を書きました。
xlrdの場合、sheet.nrowsで行数、sheet.ncolsで列数が取得できます。
[スポンサードリンク]
データが存在しないけれど書式の設定されているセルが存在している場合に、xlrdのnrows・ncolsが何を返すのかが、やっぱり気になります。
nrows・ncolsを確認するサンプル
以下のようなコードを実行してみました。
bk = xlrd.open_workbook('C:\\temp\\foo.xlsx')
sh = bk.sheet_by_index(0)
print(sh.nrows)
print(sh.ncols)
sh = bk.sheet_by_index(0)
print(sh.nrows)
print(sh.ncols)
上図のように、G10セルに書式を設定しデータを入力した場合は、もちろんnrowsは10、ncolsは7を返します。
データが存在せず書式設定されているだけのセルが存在する場合
つづいて、G10セルのデータを削除して、設定した書式は残したままで実行すると、
下図のとおりnrowsは6、ncolsは3を返してくれます!
ありがたい仕様です。
最終更新日時:2020-05-16 10:05
[スポンサードリンク]