numpy.savetxt#
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[源代码]#
将数组保存到文本文件中.
- 参数:
- fname文件名, 文件句柄或 pathlib.Path
如果文件名以
.gz
结尾,文件将自动以压缩的 gzip 格式保存.`loadtxt` 可以透明地理解 gzipped 文件.- X1D 或 2D array_like
要保存到文本文件的数据.
- fmtstr 或 str 序列,可选
单一格式 (%10.5f)、一系列格式,或一个多格式字符串,例如 ‘Iteration %d – %10.5f’,在这种情况下 delimiter 被忽略.对于复杂的 X,`fmt` 的合法选项是:
一个单一的指定符,``fmt=’%.4e’
,导致数字格式化为 ``' (%s+%sj)' % (fmt, fmt)
一个完整的字符串,指定每个实部和虚部,例如
' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'
用于3列一组说明符,每列一个 - 在这种情况下,实部和虚部必须有单独的说明符,例如
['%.3e + %.3ej', '(%.15e%+.15ej)']
用于2列
- delimiterstr, 可选
分隔列的字符串或字符.
- newlinestr, 可选
分隔行的字符串或字符.
在 1.5.0 版本加入.
- headerstr, 可选
将写入文件开头的字符串.
在 1.7.0 版本加入.
- footerstr, 可选
将在文件末尾写入的字符串.
在 1.7.0 版本加入.
- commentsstr, 可选
将添加到
header
和footer
字符串前面的字符串,以将它们标记为注释.默认值:’# ‘,例如numpy.loadtxt
所期望的.在 1.7.0 版本加入.
- encoding{None, str}, 可选
用于编码输出文件的编码.不适用于输出流.如果编码不是 ‘bytes’ 或 ‘latin1’,则无法在 NumPy 版本 < 1.14 中加载文件.默认是 ‘latin1’.
在 1.14.0 版本加入.
参见
save
将数组保存到 NumPy
.npy
格式的二进制文件中savez
将多个数组保存到一个未压缩的
.npz
存档中savez_compressed
将多个数组保存到一个压缩的
.npz
存档中
备注
进一步解释 fmt 参数 (
%[flag]width[.precision]specifier
):- flags:
-
: 左对齐+
: 强制在结果前加上 + 或 -.0
: 用零而不是空格左填充数字(见宽度).- width:
要打印的最小字符数.如果值包含更多字符,则不会截断.
- 精度:
对于整数说明符(例如
d,i,o,x
),最小的数字位数.对于
e
,E
和f
说明符,小数点后要打印的位数.对于
g
和G
,最大有效数字位数.对于
s
,字符的最大数量.
- 说明符:
c
: 字符d
或i
: 有符号十进制整数e
或E
: 使用e
或E
的科学计数法.f
: 十进制浮点数g,G
: 使用e,E
或f
中较短的一个o
: 有符号八进制s
: 字符串u
: 无符号十进制整数x,X
: 无符号十六进制整数
关于
fmt
的解释并不完整,欲了解详尽的规范,请参见 [1].参考文献
示例
>>> import numpy as np >>> 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