Skip to content

Commit 335a3e4

Browse files
committed
CLN: Use assert
Use assert to ensure that dtype is typed correctly
1 parent 3dbc18c commit 335a3e4

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

pandas/io/stata.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -1026,9 +1026,7 @@ def __init__(
10261026
self._column_selector_set = False
10271027
self._value_labels_read = False
10281028
self._data_read = False
1029-
# TODO: Place holder for mypy, is this right?
1030-
self._dtype = np.dtype("int")
1031-
self._dtype_setup = False
1029+
self._dtype = None
10321030
self._lines_read = 0
10331031

10341032
self._native_byteorder = _set_endianness(sys.byteorder)
@@ -1364,7 +1362,7 @@ def _read_old_header(self, first_char: bytes) -> None:
13641362

13651363
def _setup_dtype(self) -> np.dtype:
13661364
"""Map between numpy and state dtypes"""
1367-
if self._dtype_setup:
1365+
if self._dtype is not None:
13681366
return self._dtype
13691367

13701368
dtypes = [] # Convert struct data types to numpy data type
@@ -1374,7 +1372,6 @@ def _setup_dtype(self) -> np.dtype:
13741372
else:
13751373
dtypes.append(("s" + str(i), "S" + str(typ)))
13761374
self._dtype = np.dtype(dtypes)
1377-
self._dtype_setup = True
13781375

13791376
return self._dtype
13801377

@@ -1413,6 +1410,7 @@ def _read_value_labels(self) -> None:
14131410
if self.format_version >= 117:
14141411
self.path_or_buf.seek(self.seek_value_labels)
14151412
else:
1413+
assert self._dtype is not None
14161414
offset = self.nobs * self._dtype.itemsize
14171415
self.path_or_buf.seek(self.data_location + offset)
14181416

@@ -1549,6 +1547,7 @@ def read(
15491547
self._read_strls()
15501548

15511549
# Read data
1550+
assert self._dtype is not None
15521551
dtype = self._dtype
15531552
max_read_len = (self.nobs - self._lines_read) * dtype.itemsize
15541553
read_len = nrows * dtype.itemsize

0 commit comments

Comments
 (0)