numpy.fromregex#
- numpy.fromregex(файл, regexp, dtype, кодировка=None)[источник]#
Создать массив из текстового файла, используя разбор регулярных выражений.
Возвращаемый массив всегда является структурированным массивом и строится из всех совпадений регулярного выражения в файле. Группы в регулярном выражении преобразуются в поля структурированного массива.
- Параметры:
- файлфайл, str или pathlib.Path
Проверка ковариации в
Изменено в версии 1.22.0: Теперь принимает
os.PathLikeреализации.- regexpstr или regexp
Регулярное выражение, используемое для разбора файла. Группы в регулярном выражении соответствуют полям в dtype.
- dtypeтип данных или список типов данных
Тип данных для структурированного массива; должен быть структурированным типом данных.
- кодировкаstr, optional
Кодировка, используемая для декодирования входного файла. Не применяется к входным потокам.
- Возвращает:
- выводndarray
Выходной массив, содержащий часть содержимого файл который был сопоставлен с regexp. вывод всегда является структурированным массивом.
- Вызывает:
- TypeError
Когда
dtypeне является допустимым типом данных для структурированного массива.
Смотрите также
Примечания
Типы данных для структурированных массивов могут быть указаны в нескольких формах, но все формы указывают как минимум тип данных и имя поля. Подробности см. в basics.rec.
Примеры
>>> import numpy as np >>> 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', '
>>> output['num'] array([1312, 1534, 444])