numpy.savetxt#
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[源代码]#
将数组保存到文本文件.
- 参数:
- fnamefilename,文件句柄或 pathlib.Path
如果文件名以
.gz结尾,则该文件会自动以压缩的 gzip 格式保存.loadtxt透明地理解 gzipped 文件.- X1D 或 2D 类数组
要保存到文本文件的数据.
- fmtstr 或 strs 序列,可选
单个格式 (%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, optional
分隔列的字符串或字符.
- newlinestr, optional
分隔行的字符串或字符.
- headerstr, optional
将写入文件开头的字符串.
- footerstr, optional
将写入文件末尾的字符串.
- commentsstr, optional
将添加到
header和footer字符串开头的字符串,以将它们标记为注释. 默认值:’# ‘,如numpy.loadtxt所期望的那样.- encoding{None, str},可选
用于编码输出文件的编码.不适用于输出流.如果编码不是’bytes’或’latin1’,则将无法在NumPy版本 < 1.14中加载该文件.默认为’latin1’.
参见
save以NumPy
.npy格式将数组保存到二进制文件savez将多个数组保存到未压缩的
.npz存档中savez_compressed将多个数组保存到压缩的
.npz存档中
注释
进一步解释 fmt 参数(
%[flag]width[.precision]specifier):- flags:
-: 左对齐+: 强制在结果前加上+或-.0: 用零而不是空格左填充数字(见 width).- width:
要打印的最小字符数.如果该值具有更多字符,则不会被截断.
- precision:
对于整数说明符(例如
d,i,o,x),最小位数.对于
e, E和f说明符,小数点后要打印的位数.对于
g和G,最大有效位数.对于
s,最大字符数.
- specifiers:
c: 字符d或i: 有符号十进制整数e或E: 带有e或E的科学计数法.f: 十进制浮点数g,G: 使用e,E或f中较短的一种o: 有符号八进制s: 字符串u: 无符号十进制整数x,X: 无符号十六进制整数
对
fmt的这种解释并不完整,更详尽的规范请参见 [1] .参考
[1]Format Specification Mini-Language , Python Documentation.
示例
>>> 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