Skip to content

Commit 362ae5b

Browse files
jbrockmendelproost
authored andcommitted
CLN: io.pytables (pandas-dev#29756)
1 parent 2c9f044 commit 362ae5b

File tree

1 file changed

+15
-28
lines changed

1 file changed

+15
-28
lines changed

pandas/io/pytables.py

+15-28
Original file line numberDiff line numberDiff line change
@@ -1604,10 +1604,11 @@ class TableIterator:
16041604
"""
16051605

16061606
chunksize: Optional[int]
1607+
store: HDFStore
16071608

16081609
def __init__(
16091610
self,
1610-
store,
1611+
store: HDFStore,
16111612
s,
16121613
func,
16131614
where,
@@ -1616,7 +1617,7 @@ def __init__(
16161617
stop=None,
16171618
iterator: bool = False,
16181619
chunksize=None,
1619-
auto_close=False,
1620+
auto_close: bool = False,
16201621
):
16211622
self.store = store
16221623
self.s = s
@@ -1772,9 +1773,6 @@ def set_pos(self, pos: int):
17721773
self.typ._v_pos = pos
17731774
return self
17741775

1775-
def set_table(self, table):
1776-
self.table = table
1777-
17781776
def __repr__(self) -> str:
17791777
temp = tuple(
17801778
map(pprint_thing, (self.name, self.cname, self.axis, self.pos, self.kind))
@@ -1800,8 +1798,7 @@ def __ne__(self, other) -> bool:
18001798
def is_indexed(self) -> bool:
18011799
""" return whether I am an indexed column """
18021800
if not hasattr(self.table, "cols"):
1803-
# e.g. if self.set_table hasn't been called yet, self.table
1804-
# will be None.
1801+
# e.g. if infer hasn't been called yet, self.table will be None.
18051802
return False
18061803
# GH#29692 mypy doesn't recognize self.table as having a "cols" attribute
18071804
# 'error: "None" has no attribute "cols"'
@@ -1815,7 +1812,7 @@ def infer(self, handler):
18151812
"""infer this column from the table: create and return a new object"""
18161813
table = handler.table
18171814
new_self = self.copy()
1818-
new_self.set_table(table)
1815+
new_self.table = table
18191816
new_self.get_attr()
18201817
new_self.read_metadata(handler)
18211818
return new_self
@@ -1896,7 +1893,7 @@ def validate_names(self):
18961893
pass
18971894

18981895
def validate_and_set(self, handler: "AppendableTable", append: bool):
1899-
self.set_table(handler.table)
1896+
self.table = handler.table
19001897
self.validate_col()
19011898
self.validate_attr(append)
19021899
self.validate_metadata(handler)
@@ -2941,13 +2938,8 @@ def read_index_node(
29412938
data = node[start:stop]
29422939
# If the index was an empty array write_array_empty() will
29432940
# have written a sentinel. Here we relace it with the original.
2944-
if "shape" in node._v_attrs and self._is_empty_array(
2945-
getattr(node._v_attrs, "shape")
2946-
):
2947-
data = np.empty(
2948-
getattr(node._v_attrs, "shape"),
2949-
dtype=getattr(node._v_attrs, "value_type"),
2950-
)
2941+
if "shape" in node._v_attrs and self._is_empty_array(node._v_attrs.shape):
2942+
data = np.empty(node._v_attrs.shape, dtype=node._v_attrs.value_type,)
29512943
kind = _ensure_decoded(node._v_attrs.kind)
29522944
name = None
29532945

@@ -3126,7 +3118,7 @@ class SeriesFixed(GenericFixed):
31263118
@property
31273119
def shape(self):
31283120
try:
3129-
return (len(getattr(self.group, "values")),)
3121+
return (len(self.group.values),)
31303122
except (TypeError, AttributeError):
31313123
return None
31323124

@@ -3161,7 +3153,7 @@ def shape(self):
31613153
items += shape[0]
31623154

31633155
# data shape
3164-
node = getattr(self.group, "block0_values")
3156+
node = self.group.block0_values
31653157
shape = getattr(node, "shape", None)
31663158
if shape is not None:
31673159
shape = list(shape[0 : (ndim - 1)])
@@ -3481,10 +3473,6 @@ def read_metadata(self, key):
34813473
return self.parent.select(self._get_metadata_path(key))
34823474
return None
34833475

3484-
def set_info(self):
3485-
""" update our table index info """
3486-
self.attrs.info = self.info
3487-
34883476
def set_attrs(self):
34893477
""" set our table type & indexables """
34903478
self.attrs.table_type = str(self.table_type)
@@ -3497,7 +3485,7 @@ def set_attrs(self):
34973485
self.attrs.errors = self.errors
34983486
self.attrs.levels = self.levels
34993487
self.attrs.metadata = self.metadata
3500-
self.set_info()
3488+
self.attrs.info = self.info
35013489

35023490
def get_attrs(self):
35033491
""" retrieve our attributes """
@@ -4230,7 +4218,7 @@ def write(
42304218
# table = self.table
42314219

42324220
# update my info
4233-
self.set_info()
4221+
self.attrs.info = self.info
42344222

42354223
# validate the axes and set the kinds
42364224
for a in self.axes:
@@ -4964,27 +4952,26 @@ def _unconvert_string_array(data, nan_rep=None, encoding=None, errors="strict"):
49644952

49654953

49664954
def _maybe_convert(values: np.ndarray, val_kind, encoding, errors):
4955+
val_kind = _ensure_decoded(val_kind)
49674956
if _need_convert(val_kind):
49684957
conv = _get_converter(val_kind, encoding, errors)
49694958
# conv = np.frompyfunc(conv, 1, 1)
49704959
values = conv(values)
49714960
return values
49724961

49734962

4974-
def _get_converter(kind, encoding, errors):
4975-
kind = _ensure_decoded(kind)
4963+
def _get_converter(kind: str, encoding, errors):
49764964
if kind == "datetime64":
49774965
return lambda x: np.asarray(x, dtype="M8[ns]")
49784966
elif kind == "datetime":
49794967
return lambda x: to_datetime(x, cache=True).to_pydatetime()
49804968
elif kind == "string":
49814969
return lambda x: _unconvert_string_array(x, encoding=encoding, errors=errors)
49824970
else: # pragma: no cover
4983-
raise ValueError("invalid kind {kind}".format(kind=kind))
4971+
raise ValueError(f"invalid kind {kind}")
49844972

49854973

49864974
def _need_convert(kind) -> bool:
4987-
kind = _ensure_decoded(kind)
49884975
if kind in ("datetime", "datetime64", "string"):
49894976
return True
49904977
return False

0 commit comments

Comments
 (0)