numpy.fromfile
-
numpy.fromfile(file, dtype=float, count=- 1, sep='', offset=0, *, like=None) -
Construct an array from data in a text or binary file.
A highly efficient way of reading binary data with a known data-type, as well as parsing simply formatted text files. Data written using the
tofilemethod can be read using this function.- Parameters
-
-
filefile or str or Path -
Open file object or filename.
Changed in version 1.17.0:
pathlib.Pathobjects are now accepted. -
dtypedata-type -
Data type of the returned array. For binary files, it is used to determine the size and byte-order of the items in the file. Most builtin numeric types are supported and extension types may be supported.
New in version 1.18.0: Complex dtypes.
-
countint -
Number of items to read.
-1means all items (i.e., the complete file). -
sepstr -
Separator between items if file is a text file. Empty (“”) separator means the file should be treated as binary. Spaces (” “) in the separator match zero or more whitespace characters. A separator consisting only of spaces must match at least one whitespace.
-
offsetint -
The offset (in bytes) from the file’s current position. Defaults to 0. Only permitted for binary files.
New in version 1.17.0.
-
likearray_like -
Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as
likesupports the__array_function__protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.New in version 1.20.0.
-
See also
-
load,save -
ndarray.tofile -
loadtxt -
More flexible way of loading data from a text file.
Notes
Do not rely on the combination of
tofileandfromfilefor data storage, as the binary files generated are not platform independent. In particular, no byte-order or data-type information is saved. Data can be stored in the platform independent.npyformat usingsaveandloadinstead.Examples
Construct an 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')])Save the raw data to disk:
>>> import tempfile >>> fname = tempfile.mkstemp()[1] >>> x.tofile(fname)
Read the raw data from disk:
>>> np.fromfile(fname, dtype=dt) array([((10, 0), 98.25)], dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])The recommended way to store and load data:
>>> 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.21/reference/generated/numpy.fromfile.html