Skip to main content
`Ctrl`+`K`

# numpy.rec.fromstring

rec.fromstring(datastring, dtype=None, shape=None, offset=0, formats=None, names=None, titles=None, aligned=False, byteorder=None)

  Create a record array from binary data

  Note that despite the name of this function it does not accept str instances.

  Parameters:
    datastring bytes-like

      Buffer of binary data

    dtype data-type, optional

      Valid dtype for all arrays

    shape int or tuple of ints, optional

      Shape of each array.

    offset int, optional

      Position in the buffer to start reading from.

    formats, names, titles, aligned, byteorder

      If `dtype` is `None`, these arguments are passed to numpy.format_parser to construct a dtype. See that function for detailed documentation.

  Returns:
    np.recarray

      Record array view into the data in datastring. This will be readonly if datastring is readonly.

  See also

  `numpy.frombuffer`

  Examples

      >>> a = b'\x01\x02\x03abc'
      >>> np.rec.fromstring(a, dtype='u1,u1,u1,S3')
      rec.array([(1, 2, 3, b'abc')],
              dtype=[('f0', 'u1'), ('f1', 'u1'), ('f2', 'u1'), ('f3', 'S3')])

      >>> grades_dtype = [('Name', (np.str_, 10)), ('Marks', np.float64),
      ...                 ('GradeLevel', np.int32)]
      >>> grades_array = np.array([('Sam', 33.3, 3), ('Mike', 44.4, 5),
      ...                         ('Aadi', 66.6, 6)], dtype=grades_dtype)
      >>> np.rec.fromstring(grades_array.tobytes(), dtype=grades_dtype)
      rec.array([('Sam', 33.3, 3), ('Mike', 44.4, 5), ('Aadi', 66.6, 6)],
              dtype=[('Name', '<U10'), ('Marks', '<f8'), ('GradeLevel', '<i4')])

      >>> s = '\x01\x02\x03abc'
      >>> np.rec.fromstring(s, dtype='u1,u1,u1,S3')
      Traceback (most recent call last):
         ...
      TypeError: a bytes-like object is required, not 'str'