numpy.fromfile¶
-
numpy.
fromfile
(file, dtype=float, count=-1, sep='', offset=0)¶ 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 tofile method can be read using this function.
- Parameters
- filefile or
str
or Path Open file object or filename.
Changed in version 1.17.0:
pathlib.Path
objects 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.
- count
int
Number of items to read.
-1
means all items (i.e., the complete file).- sep
str
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.
- offset
int
The offset (in bytes) from the file’s current position. Defaults to 0. Only permitted for binary files.
New in version 1.17.0.
- filefile or
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 tofile and
fromfile
for 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.npy
format usingsave
andload
instead.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')])