numpy / 1.22.0 / reference / generated / numpy.core.records.fromstring.html /

numpy.core.records.fromstring

core.records. fromstring ( datastring, dtype=None, shape=None, offset=0, formats=None, names=None, titles=None, aligned=False, byteorder=None ) [source]

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.core.records.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.core.records.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.core.records.fromstring(s, dtype='u1,u1,u1,S3')
Traceback (most recent call last)
   ...
TypeError: a bytes-like object is required, not 'str'

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.22/reference/generated/numpy.core.records.fromstring.html