numpy.savetxt#
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[源代码]#
将数组保存到文本文件。
- 参数:
- fname文件名,文件句柄或 pathlib.Path
如果文件名以
.gz结尾,则文件将自动以压缩 gzip 格式保存。loadtxt会自动识别 gzip 文件。- X一维或二维数组类型
要保存到文本文件的数据。
- fmt字符串或字符串序列,可选
单个格式(%10.5f)、格式序列或多格式字符串,例如 ‘Iteration %d – %10.5f’,在这种情况下会忽略 delimiter。对于复数 X,fmt 的合法选项有:
单个说明符,
fmt='%.4e',结果数字格式为' (%s+%sj)' % (fmt, fmt)指定每个实部和虚部的完整字符串,例如,对于 3 列,为
' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'每个列一个说明符列表——在这种情况下,实部和虚部必须有单独的说明符,例如,对于 2 列,为
['%.3e + %.3ej', '(%.15e%+.15ej)']
- delimiter字符串,可选
分隔列的字符串或字符。
- newline字符串,可选
分隔行的字符串或字符。
- header字符串,可选
将写入文件开头的字符串。
- footer字符串,可选
将写入文件末尾的字符串。
- comments字符串,可选
将添加到
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]。参考
示例
>>> 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