Spec-Zone.ru › NumPy 1.20

numpy.fromfile

numpy.fromfile(file, dtype=float, count=-1, sep='', offset=0, *, like=None)

Создаёт массив из данных текстового или двоичного файла.

Высокоэффективный способ чтения двоичных данных с известным типом данных, а также парсинга просто отформатированных текстовых файлов. Данные, записанные с помощью метода tofile, могут быть прочитаны с помощью этой функции.

Параметры
filefile or str or Path

Открытый объект файла или имя файла.

Изменено в версии 1.17.0: pathlib.Path объекты теперь принимаются.

dtypedata-type

Тип данных возвращаемого массива. Для двоичных файлов используется для определения размера и порядка байтов элементов в файле. Поддерживаются большинство встроенных числовых типов, а также могут поддерживаться типы расширений.

Новое в версии 1.18.0: Комплексные типы данных.

countint

Количество элементов для чтения. -1 означает все элементы (т.е. весь файл).

sepstr

Разделитель между элементами, если файл является текстовым. Пустой (“”) разделитель означает, что файл должен обрабатываться как двоичный. Пробелы (“ ”) в разделителе соответствуют нулю или более символам пробела. Разделитель, состоящий только из пробелов, должен соответствовать по крайней мере одному пробелу.

offsetint

Смещение (в байтах) от текущей позиции файла. По умолчанию 0. Допускается только для двоичных файлов.

Новое в версии 1.17.0.

likearray_like

Объект ссылки, позволяющий создавать массивы, которые не являются массивами NumPy. Если в like передан подобный массив, который поддерживает протокол __array_function__, результат будет определён им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.

Примечание

Ключевое слово like является экспериментальной функцией, ожидающей принятия NEP 35.

Новое в версии 1.20.0.

См. также

load, save
ndarray.tofile
loadtxt

Более гибкий способ загрузки данных из текстового файла.

Примечания

Не полагайтесь на комбинацию tofile и fromfile для хранения данных, так как создаваемые двоичные файлы не являются независимыми от платформы. В частности, никакая информация о порядке байтов или типе данных не сохраняется. Данные могут быть сохранены в независимом от платформы формате .npy с помощью save и load вместо этого.

Примеры

Создаём массив ndarray:

>>> dt = np.dtype([('time', [('min', np.int64), ('sec', np.int64)]),
...                ('temp', float)])
>>> x = np.zeros((1,), dtype=dt)
>>> x['time']['min'] = 10; x['temp'] = 98.25
>>> x
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])

Сохраняем сырые данные на диск:

>>> import tempfile
>>> fname = tempfile.mkstemp()[1]
>>> x.tofile(fname)

Читаем сырые данные с диска:

>>> np.fromfile(fname, dtype=dt)
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])

Рекомендуемый способ хранения и загрузки данных:

>>> np.save(fname, x)
>>> np.load(fname + '.npy')
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.fromfile.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API