numpy.
fromregex
使用正则表达式解析从文本文件构造数组。
返回的数组始终是一个结构化数组,由文件中正则表达式的所有匹配项构造。正则表达式中的组将转换为结构化数组的字段。
要读取的文件名或文件对象。
用于分析文件的正则表达式。正则表达式中的组对应于数据类型中的字段。
结构化数组的数据类型。
用于解码输入文件的编码。不适用于输入流。
1.14.0 新版功能.
输出数组,包含 file 与之匹配的是 regexp . output 始终是结构化数组。
什么时候? dtype 不是结构化数组的有效数据类型。
dtype
参见
fromstring
loadtxt
笔记
结构化数组的数据类型可以用多种形式指定,但所有形式至少指定数据类型和字段名。详情见 basics.rec .
实例
>>> 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])