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.19/reference/generated/numpy.fromfile.html