numpy.fromregex #

麻木的。fromregex (文件,正则表达式, dtype ,编码= None ) [来源] #

使用正则表达式解析从文本文件构造数组。

返回的数组始终是结构化数组,并且由文件中正则表达式的所有匹配项构造而成。正则表达式中的组将转换为结构化数组的字段。

参数
文件路径或文件

要读取的文件名或文件对象。

版本 1.22.0 中更改:现在接受os.PathLike实现。

正则表达式str 或 正则表达式

用于解析文件的正则表达式。正则表达式中的组对应于数据类型中的字段。

dtype dtype 或 dtype 列表

结构化数组的 Dtype;必须是结构化数据类型。

编码str,可选

用于解码输入文件的编码。不适用于输入流。

1.14.0 版本中的新增功能。

返回
输出数组

输出数组,包含regexp匹配的文件内容部分。输出始终是结构化数组。

加薪
类型错误

何时dtype不是结构化数组的有效数据类型。

也可以看看

fromstring,loadtxt

笔记

结构化数组的数据类型可以以多种形式指定,但所有形式至少指定数据类型和字段名称。有关详细信息,请参阅 basics.rec

例子

>>> from io import StringIO
>>> 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')])
>>> output
array([(1312, b'foo'), (1534, b'bar'), ( 444, b'qux')],
      dtype=[('num', '<i8'), ('key', 'S3')])
>>> output['num']
array([1312, 1534,  444])