numpy.
fromregex
(file,regexp,dtype,encoding = None )[源代码] ¶使用正则表达式解析从文本文件构造一个数组。
返回的数组始终是结构化数组,并且由文件中正则表达式的所有匹配项构成。正则表达式中的组将转换为结构化数组的字段。
要读取的文件名或文件对象。
用于解析文件的正则表达式。正则表达式中的组对应于dtype中的字段。
结构化数组的Dtype。
用于解码输入文件的编码。不适用于输入流。
1.14.0版中的新功能。
输出数组,包含与regexp匹配的文件内容的一部分。输出始终是结构化数组。
dtype
对于结构化数组,when 不是有效的dtype。
也可以看看
笔记
可以以几种形式指定结构化数组的Dtype,但是所有形式都至少指定数据类型和字段名称。有关详细信息,请参见
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([(1312, b'foo'), (1534, b'bar'), ( 444, b'qux')],
dtype=[('num', '<i8'), ('key', 'S3')])
>>> output['num']
array([1312, 1534, 444])