numpy.fromregex

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.fromregex.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.fromregex(file, regexp, dtype)[source]

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

返回的数组总是一个结构化数组,并且是从文件中正则表达式的所有匹配项构造的。正则表达式中的组将转换为结构化数组的字段。

参数:

文件:str或文件

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

regexp:str或regexp

用于解析文件的正则表达式。正则表达式中的组对应于dtype中的字段。

dtype:dtype或dtypes列表

Dtype为结构化数组。

返回:

输出:ndarray

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

上升:

TypeError

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

也可以看看

fromstringloadtxt

笔记

结构化数组的类型可以以多种形式指定,但所有形式至少指定数据类型和字段名称。For details see doc.structured_arrays.

例子

>>> f = open('test.dat', 'w')
>>> f.write("1312 foo\n1534  bar\n444   qux")
>>> f.close()
>>> regexp = r"(\d+)\s+(...)"  # match [digits, whitespace, anything]
>>> output = np.fromregex('test.dat', regexp,
...                       [('num', np.int64), ('key', 'S3')])
>>> output
array([(1312L, 'foo'), (1534L, 'bar'), (444L, 'qux')],
      dtype=[('num', '<i8'), ('key', '|S3')])
>>> output['num']
array([1312, 1534,  444], dtype=int64)