Home » Python » xlrdの使い方 » xlrd.sheet.Cellの識別値

動作検証:Windows 10 + Python 3.7.3 + xlrd 1.2.0

OpenPyXLのCellは同じセルを参照していれば同じ識別値で、xlwingsのRangeは取得するたびに違うことに気付きました。

こうなると、Excelを操作する他のライブラリの場合どうなのかが気になります。

[スポンサードリンク]

で、xlrdのCellオブジェクトについて確認しました。

xlrdのCellをis演算子で比較する

xlrdのCellオブジェクトの場合も、同じセルを参照していてもis演算子で比較した結果はFalseだろうと思いつつ、以下のようなスクリプトを実行しました。

import xlrd
wb = xlrd.open_workbook('C:\\temp\\foo.xlsx')
ws = wb.sheet_by_index(0)

cell_1 = ws.cell(1, 1)
cell_2 = ws.cell(1, 1)
print(cell_1 is cell_2)

予想どおりFalseです。

xlrdのCellの識別値

Pythonのid()関数で識別値を確認すれば、

上図のとおり、もちろん別の値です。

私が気になったのは、xlwingsのように取得するたびに別なのかどうかです。

結果xlrdの場合は、xlwingsとは異なり、同じ値が返されます。

最終更新日時:2019-07-15 17:02

[スポンサードリンク]

Home » Python » xlrdの使い方 » xlrd.sheet.Cellの識別値

「xlrdの使い方」の記事一覧

検索


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

.