numpy savetxt()详解
numpy中的savetxt()函数简介
在numpy库中,有一个非常实用的函数叫做savetxt(),可以用来将数组保存到文本文件中。这个函数可以将一维或二维数组保存为文本文件,可以指定分隔符、格式、列名等参数,非常灵活方便。
函数语法
numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)
参数说明:
- fname:文件名或文件句柄,用于保存数据。
- X:要保存的数组,可以是一维或二维数组。
- fmt:指定数据的输出格式,默认为’%.18e’。
- delimiter:指定数据之间的分隔符,默认为空格。
- newline:换行符,默认为’\n’。
- header:文件开头写入的字符串,默认为空。
- footer:文件结尾写入的字符串,默认为空。
- comments:注释标记,默认为’# ‘。
- encoding:编码格式,默认为None。
示例
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('data.txt', data, fmt='%d', delimiter=',', header='This is my data', comments='')
运行结果:执行上述代码后,将会在当前目录下生成一个名为data.txt的文件,文件内容如下所示:
# This is my data
1,2,3
4,5,6
7,8,9
参数详解
fmt参数
- fmt参数用来指定数据的输出格式。可以使用的格式化符号有:
- %d:整数格式。
- %f:浮点数格式。
- %e:科学记数法格式。
- %s:字符串格式。
data = np.array([[1.234, 2.345, 3.456], [4.567, 5.678, 6.789]])
np.savetxt('data.txt', data, fmt='%.2f', delimiter=',')
运行结果:执行上述代码后,将会在当前目录下生成一个名为data.txt的文件,文件内容如下所示:
1.23,2.34,3.46
4.57,5.68,6.79
delimiter参数
- delimiter参数用来指定数据之间的分隔符,可以是空格、逗号、制表符等。
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('data.txt', data, fmt='%d', delimiter=',')
运行结果:执行上述代码后,将会在当前目录下生成一个名为data.txt的文件,文件内容如下所示:
1,2,3
4,5,6
7,8,9
header和comments参数
- header参数用来在文件开头写入的字符串,comments参数用来指定注释的标记符号。
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('data.txt', data, fmt='%d', delimiter=',', header='This is my data', comments='')
运行结果:执行上述代码后,将会在当前目录下生成一个名为data.txt的文件,文件内容如下所示:
# This is my data
1,2,3
4,5,6
7,8,9
encoding参数
- encoding参数用来指定保存文件时的编码格式,一般情况下不需要指定。
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('data.txt', data, fmt='%d', delimiter=',', encoding='utf-8')
总结
通过对numpy中的savetxt()函数的详解,我们可以看到该函数非常强大且灵活,能够满足我们对数组保存到文本文件的各种需求。在使用该函数时,根据需求可以灵活调整参数,以达到最佳的保存效果。