我有一个以xlrd.Cell
对象作为参数的函数。但是,该函数还需要访问"拥有的xlrd.Sheet
对象。细胞。如果我不需要,我更愿意不必传递它来自的表格对象。 API是否提供了获取拥有单元格的工作表的方法?
如果可能的话,从工作表对象访问xlrd.Book
对象也很有用。
我仔细查看了API,看起来似乎没有这些,但我却因为忽略了这样的事情而臭名昭着。
答案 0 :(得分:1)
没有。 xlrd.Cell
对象的定义是:
# Type: Cell
# String Form:number:42.0
# File: c:\python27\lib\site-packages\xlrd\sheet.py
# Source:
class Cell(BaseObject):
__slots__ = ['ctype', 'value', 'xf_index']
def __init__(self, ctype, value, xf_index=None):
self.ctype = ctype
self.value = value
self.xf_index = xf_index
def __repr__(self):
if self.xf_index is None:
return "%s:%r" % (ctype_text[self.ctype], self.value)
else:
return "%s:%r (XF:%r)" % (ctype_text[self.ctype], self.value, self.xf_index)
因此,Worksheet
对象中没有对父Cell
的引用。您可以轻松地扩展xlrd.Worksheet
和xlrd.Cell
类来添加此类引用,但您也可以将父工作表传递给您的函数并省去麻烦。