MCPcopy
hub / github.com/pandas-dev/pandas / _read_old_value_labels

Method _read_old_value_labels

pandas/io/stata.py:1513–1536  ·  view source on GitHub ↗

Reads value labels with fixed-length strings (105 and earlier format)

(self)

Source from the content-addressed store, hash-verified

1511 self._path_or_buf.read(6) # </lbl>
1512
1513 def _read_old_value_labels(self) -> None:
1514 """Reads value labels with fixed-length strings (105 and earlier format)"""
1515 assert self._dtype is not None
1516 offset = self._nobs * self._dtype.itemsize
1517 self._path_or_buf.seek(self._data_location + offset)
1518
1519 while True:
1520 if not self._path_or_buf.read(2):
1521 # end-of-file may have been reached, if so stop here
1522 break
1523
1524 # otherwise back up and read again, taking byteorder into account
1525 self._path_or_buf.seek(-2, os.SEEK_CUR)
1526 n = self._read_uint16()
1527 labname = self._decode(self._path_or_buf.read(9))
1528 self._path_or_buf.read(1) # padding
1529 codes = np.frombuffer(
1530 self._path_or_buf.read(2 * n), dtype=f"{self._byteorder}i2", count=n
1531 )
1532 self._value_label_dict[labname] = {}
1533 for i in range(n):
1534 self._value_label_dict[labname][codes[i]] = self._decode(
1535 self._path_or_buf.read(8)
1536 )
1537
1538 def _read_value_labels(self) -> None:
1539 self._ensure_open()

Callers 1

_read_value_labelsMethod · 0.95

Calls 4

_read_uint16Method · 0.95
_decodeMethod · 0.95
seekMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected