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

将添加到 headerfooter 字符串开头的字符串,以将它们标记为注释. 默认值:’# ‘,如 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, Ef 说明符,小数点后要打印的位数.

  • 对于 gG ,最大有效位数.

  • 对于 s ,最大字符数.

specifiers:

c : 字符

di : 有符号十进制整数

eE : 带有 eE 的科学计数法.

f : 十进制浮点数

g,G : 使用 e,Ef 中较短的一种

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