numpy.savetxt#
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[source]#
将数组保存到文本文件。
- 参数:
- fname文件名、文件句柄或 pathlib.Path
如果文件名以
.gz
结尾,文件会自动保存为 gzip 压缩格式。loadtxt
可以透明地理解 gzip 文件。- X1D 或 2D 类数组
要保存到文本文件的数据。
- 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, 字符串}, 可选
用于编码输出文件的编码。不适用于输出流。如果编码不是 'bytes' 或 'latin1',则无法在 NumPy < 1.14 版本中加载该文件。默认值为 'latin1'。
另请参阅
save
将数组保存到 NumPy
.npy
格式的二进制文件savez
将多个数组保存到未压缩的
.npz
归档文件savez_compressed
将多个数组保存到压缩的
.npz
归档文件
注意
对 fmt 参数的进一步解释 (
%[flag]width[.precision]specifier
)- 标志
-
: 左对齐+
: 强制结果以 + 或 - 开头。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]。参考资料
示例
>>> 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