numpy.rec.fromstring#
- rec.fromstring(datastring, dtype=None, shape=None, offset=0, formats=None, names=None, titles=None, aligned=False, byteorder=None)[source]#
從二進制資料建立記錄陣列
請注意,儘管此函數名稱如此,但它不接受 str 實例。
- 參數:
- datastringbytes-like
二進制資料的緩衝區
- dtype資料型別,選用
適用於所有陣列的有效 dtype
- shape整數或整數元組,選用
每個陣列的形狀。
- offset整數,選用
從緩衝區開始讀取的位置。
- formats、names、titles、aligned、byteorder
如果
dtype
為None
,這些參數會傳遞給 numpy.format_parser 以建構 dtype。請參閱該函數以取得詳細文件。
- 傳回值:
- np.recarray
記錄陣列檢視 datastring 中的資料。如果 datastring 為唯讀,則這將是唯讀的。
另請參閱
範例
>>> 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'