numpy.savetxt#
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[source]#
Save an array to a text file.
- Parameters:
- fnamefilename, file handle or pathlib.Path
If the filename ends in
.gz
, the file is automatically saved in compressed gzip format.loadtxt
understands gzipped files transparently.- X1D or 2D array_like
Data to be saved to a text file.
- fmtstr or sequence of strs, optional
A single format (%10.5f), a sequence of formats, or a multi-format string, e.g. ‘Iteration %d – %10.5f’, in which case delimiter is ignored. For complex X, the legal options for fmt are:
a single specifier,
fmt='%.4e'
, resulting in numbers formatted like' (%s+%sj)' % (fmt, fmt)
a full string specifying every real and imaginary part, e.g.
' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'
for 3 columnsa list of specifiers, one per column - in this case, the real and imaginary part must have separate specifiers, e.g.
['%.3e + %.3ej', '(%.15e%+.15ej)']
for 2 columns
- delimiterstr, optional
String or character separating columns.
- newlinestr, optional
String or character separating lines.
New in version 1.5.0.
- headerstr, optional
String that will be written at the beginning of the file.
New in version 1.7.0.
- footerstr, optional
String that will be written at the end of the file.
New in version 1.7.0.
- commentsstr, optional
String that will be prepended to the
header
andfooter
strings, to mark them as comments. Default: ‘# ‘, as expected by e.g.numpy.loadtxt
.New in version 1.7.0.
- encoding{None, str}, optional
Encoding used to encode the outputfile. Does not apply to output streams. If the encoding is something other than ‘bytes’ or ‘latin1’ you will not be able to load the file in NumPy versions < 1.14. Default is ‘latin1’.
New in version 1.14.0.
See also
save
Save an array to a binary file in NumPy
.npy
formatsavez
Save several arrays into an uncompressed
.npz
archivesavez_compressed
Save several arrays into a compressed
.npz
archive
Notes
Further explanation of the fmt parameter (
%[flag]width[.precision]specifier
):- flags:
-
: left justify+
: Forces to precede result with + or -.0
: Left pad the number with zeros instead of space (see width).- width:
Minimum number of characters to be printed. The value is not truncated if it has more characters.
- precision:
For integer specifiers (eg.
d,i,o,x
), the minimum number of digits.For
e, E
andf
specifiers, the number of digits to print after the decimal point.For
g
andG
, the maximum number of significant digits.For
s
, the maximum number of characters.
- specifiers:
c
: characterd
ori
: signed decimal integere
orE
: scientific notation withe
orE
.f
: decimal floating pointg,G
: use the shorter ofe,E
orf
o
: signed octals
: string of charactersu
: unsigned decimal integerx,X
: unsigned hexadecimal integer
This explanation of
fmt
is not complete, for an exhaustive specification see [1].References
[1]Format Specification Mini-Language, Python Documentation.
Examples
>>> x = y = z = np.arange(0.0,5.0,1.0) >>> np.savetxt('test.out', x, delimiter=',') # X is an array >>> np.savetxt('test.out', (x,y,z)) # x,y,z equal sized 1D arrays >>> np.savetxt('test.out', x, fmt='%1.4e') # use exponential notation