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一维或二维 array_like
要保存到文本文件的数据。
- fmtstr 或 str 序列,可选
单个格式说明符(如 %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)']
- delimiterstr,可选
用于分隔列的字符串或字符。
- newlinestr,可选
用于分隔行的字符串或字符。
- headerstr,可选
将写入文件开头的字符串。
- footerstr,可选
将写入文件结尾的字符串。
- commentsstr,可选
前置于
header和footer字符串之前的字符串,用于将它们标记为注释。默认值:‘# ’,与例如numpy.loadtxt的预期一致。- encoding{None, str},可选
用于对输出文件进行编码的编码格式。不适用于输出流。如果编码不是 ‘bytes’ 或 ‘latin1’,则无法在版本低于 1.14 的 NumPy 中加载该文件。默认为 ‘latin1’。
另请参阅
save将数组保存到 NumPy
.npy格式的二进制文件savez将多个数组保存到未压缩的
.npz归档文件中savez_compressed将多个数组保存到压缩的
.npz归档文件中
备注
fmt 参数的详细说明 (
%[标志]宽度[.精度]说明符)- flags
-: 左对齐+: 强制结果前添加 + 或 - 符号。0: 用零填充数字左侧,而不是空格(参见宽度)。- 宽度
打印的最小字符数。如果值具有更多字符,则不会被截断。
- 精度
对于整数说明符(例如
d,i,o,x),为最小数字位数。对于
e, E和f说明符,为小数点后打印的位数。对于
g和G,为最大有效位数。对于
s,为最大字符数。
- 说明符
c: 字符d或i: 有符号十进制整数e或E: 使用e或E的科学记数法。f: 十进制浮点数g,G: 使用e,E或f中较短的一种o: 有符号八进制s: 字符字符串u: 无符号十进制整数x,X: 无符号十六进制整数
关于
fmt的此说明并不完整,详尽的规范请参考 [1]。参考
[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