numpy.fromregex¶
-
numpy.
fromregex
(file, regexp, dtype)[source]¶ 使用正则表达式解析从文本文件构造数组。
返回的数组总是一个结构化数组,并且是从文件中正则表达式的所有匹配项构造的。正则表达式中的组将转换为结构化数组的字段。
参数: 文件:str或文件
要读取的文件名或文件对象。
regexp:str或regexp
用于解析文件的正则表达式。正则表达式中的组对应于dtype中的字段。
dtype:dtype或dtypes列表
Dtype为结构化数组。
返回: 输出:ndarray
输出数组,包含由regexp匹配的文件内容的一部分。输出始终是结构化数组。
上升: TypeError
当
dtype
不是结构化数组的有效类型时。也可以看看
笔记
结构化数组的类型可以以多种形式指定,但所有形式至少指定数据类型和字段名称。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)