From 143f955301480b2210882fa489392909b7ca6d74 Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Thu, 5 Dec 2019 08:39:41 -0800 Subject: [PATCH] REF: make itemsize a property --- pandas/io/pytables.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pandas/io/pytables.py b/pandas/io/pytables.py index 1d24e15c504f2..8b04fab6587da 100644 --- a/pandas/io/pytables.py +++ b/pandas/io/pytables.py @@ -1882,7 +1882,6 @@ def __init__( kind=None, typ=None, cname: Optional[str] = None, - itemsize=None, axis=None, pos=None, freq=None, @@ -1896,7 +1895,6 @@ def __init__( self.values = values self.kind = kind self.typ = typ - self.itemsize = itemsize self.name = name self.cname = cname or name self.axis = axis @@ -1916,6 +1914,11 @@ def __init__( assert isinstance(self.name, str) assert isinstance(self.cname, str) + @property + def itemsize(self) -> int: + # Assumes self.typ has already been initialized + return self.typ.itemsize + @property def kind_attr(self) -> str: return f"{self.name}_kind" @@ -2338,7 +2341,6 @@ def get_atom_string(self, shape, itemsize): return _tables().StringCol(itemsize=itemsize, shape=shape[0]) def set_atom_string(self, itemsize: int, data_converted: np.ndarray): - self.itemsize = itemsize self.kind = "string" self.typ = self.get_atom_string(data_converted.shape, itemsize) self.set_data(data_converted.astype(f"|S{itemsize}", copy=False)) @@ -4724,7 +4726,6 @@ def _convert_index(name: str, index: Index, encoding=None, errors="strict"): converted, "string", _tables().StringCol(itemsize), - itemsize=itemsize, index_name=index_name, )