numpy.fromregex — NumPy v2.6.dev0 Manual

numpy.fromregex(file, regexp, dtype, encoding=None)

[source]

#

Construct an array from a text file, using regular expression parsing.

The returned array is always a structured array, and is constructed from all matches of the regular expression in the file. Groups in the regular expression are converted to fields of the structured array.

Parameters:filefile, str, or pathlib.PathFilename or file object to read.

Changed in version 1.22.0: Now accepts

os.PathLike

implementations.

regexpstr or regexpRegular expression used to parse the file. Groups in the regular expression correspond to fields in the dtype.

dtypedtype or list of dtypesDtype for the structured array; must be a structured datatype.

encodingstr, optionalEncoding used to decode the inputfile. Does not apply to input streams.

Returns:outputndarrayThe output array, containing the part of the content of file that was matched by regexp. output is always a structured array.

Raises:TypeErrorWhen

dtype

is not a valid dtype for a structured array.

Notes

Dtypes for structured arrays can be specified in several forms, but all forms specify at least the data type and field name. For details see basics.rec.

Examples

>>> importnumpyasnp>>> fromioimportStringIO>>> text=StringIO("1312 foo\n1534 bar\n444 qux")>>> regexp=r"(\d+)\s+(...)"# match [digits, whitespace, anything]>>> output=np.fromregex(text,regexp,... [('num',np.int64),('key','S3')])>>> outputarray([(1312, b'foo'), (1534, b'bar'), ( 444, b'qux')], dtype=[('num', '<i8'), ('key', 'S3')])>>> output['num']array([1312, 1534, 444])