numpy.savetxt#

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[source]#

将数组保存到文本文件。

参数:
fname文件名、文件句柄或 pathlib.Path

如果文件名以 .gz 结尾,则文件将自动以压缩的 gzip 格式保存。 loadtxt 可以透明地理解 gzip 压缩的文件。

X一维或二维类数组

要保存到文本文件中的数据。

fmt字符串或字符串序列,可选

单个格式 (%10.5f)、格式序列或多格式字符串,例如 ‘Iteration %d – %10.5f’,在这种情况下忽略 delimiter。对于复数 Xfmt 的合法选项为

  • 单个说明符,fmt='%.4e',导致数字格式化为 ' (%s+%sj)' % (fmt, fmt)

  • 一个完整字符串,指定每个实部和虚部,例如 ' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej' 用于 3 列

  • 说明符列表,每列一个 - 在这种情况下,实部和虚部必须具有单独的说明符,例如 ['%.3e + %.3ej', '(%.15e%+.15ej)'] 用于 2 列

delimiter字符串,可选

分隔列的字符串或字符。

newline字符串,可选

分隔行的字符串或字符。

版本 1.5.0 中的新功能。

header字符串,可选

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

版本 1.7.0 中的新功能。

footer字符串,可选

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

版本 1.7.0 中的新功能。

comments字符串,可选

将预先添加到 headerfooter 字符串的字符串,以将其标记为注释。默认值:‘# ‘,如 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)

标志

- :左对齐

+ :强制在结果前面加上 + 或 -。

0 :用零而不是空格填充数字的左侧(请参阅宽度)。

宽度

要打印的最小字符数。如果值具有更多字符,则不会截断该值。

精度
  • 对于整数说明符(例如 d,i,o,x),最小位数。

  • 对于 e, Ef 说明符,小数点后要打印的位数。

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

  • 对于 s,最大字符数。

说明符

c :字符

di :带符号十进制整数

eE :带 eE 的科学计数法。

f :十进制浮点数

g,G :使用 e,Ef 中较短者

o :带符号八进制数

s :字符字符串

u :无符号十进制整数

x,X :无符号十六进制整数

fmt 说明不完整,有关详尽的规范,请参阅 [1]

参考文献

[1]

格式规范迷你语言,Python 文档。

示例

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