numpy.fromfile
-
numpy.fromfile(file, dtype=float, count=-1, sep='', offset=0) -
Построение массива из данных в текстовом или двоичном файле.
Высокоэффективный способ чтения двоичных данных с известным типом данных, а также парсинга просто отформатированных текстовых файлов. Данные, записанные с помощью метода
tofile, могут быть прочитаны с помощью этой функции.- Параметры
-
-
filefile or str or Path -
Открытый объект файла или имя файла.
Изменено в версии 1.17.0:
pathlib.Pathобъекты теперь принимаются. -
dtypedata-type -
Тип данных возвращаемого массива. Для двоичных файлов используется для определения размера и порядка байтов элементов в файле. Поддерживаются большинство встроенных числовых типов, и могут поддерживаться расширенные типы.
Добавлена в версии 1.18.0: Комплексные типы данных.
-
countint -
Количество элементов для чтения.
-1означает все элементы (т.е. весь файл). -
sepstr -
Разделитель между элементами, если файл является текстовым. Пустой (“”) разделитель означает, что файл должен обрабатываться как двоичный. Пробелы (“ ”) в разделителе соответствуют нулю или более пробельных символов. Разделитель, состоящий только из пробелов, должен соответствовать по крайней мере одному пробельному символу.
-
offsetint -
Смещение (в байтах) от текущей позиции файла. По умолчанию 0. Допускается только для двоичных файлов.
Новая в версии 1.17.0.
-
См. также
-
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fromfile.html