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 或 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, optional

分隔列的字符串或字符.

newlinestr, optional

分隔行的字符串或字符.

headerstr, optional

将在文件开头写入的字符串.

footerstr, optional

将在文件末尾写入的字符串.

commentsstr, optional

将添加到 headerfooter 字符串开头的字符串,以将其标记为注释.默认值:’# ‘,正如 e.g. 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] .

参考文献

示例

>>> 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