python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > np.savetxt()存储数据

numpy工程实践之np.savetxt()存储数据

作者:DonngZH

NumPy提供了多种存取数组内容的文件操作函数,保存数组数据的文件可以是二进制格式或者文本格式,下面这篇文章主要给大家介绍了关于numpy工程实践之np.savetxt()存储数据的相关资料,需要的朋友可以参考下

前言

使用np.savetxt()方法可以将数据保存为txt文件或者是csv文件。

1 np.savetxt()存储txt文件

1-1 基础参数

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

1-2 参数详解

fname:要存入的文件、文件名、或生成器。

arrry:要存储的数据。

fmt:要存储的数据格式。

delimiter:加载分隔符,默认是空格。
newline:行分隔符,默认换行符。
header:开头字符串(存储为csv文件时可以生成标题)。
footer:结尾字符串。
comments:文中的注释。
encoding:编码,默认无。

1-3 应用示例

原始数据如下所示:

1-3-1 fname

fname可以是文件的路径也可以是要转换存储的文件。

np.savetxt('./data1.txt',data)

未指定存储格式,会默认使用科学计数法进行存储,存储后的文件格式如下: 

1-3-2 fmt

mt:要存储的数据格式。可以自行设置。“%d”表示设置为int型,“%s”表示为字符型,“%f”表示保留几位小数。

#保存为整数
np.savetxt('./data1.txt',data,fmt="%d")
#保存为字符串
np.savetxt('./data1.txt',data,fmt="%s")
#保留3位小数
np.savetxt('./data1.txt',data,fmt="%.2f")

每列都可以通过fmt单独设置输出的精度,注意的是要fmt指定的列数要与data保持一致,否则会报错

np.savetxt('./data1.txt',data,fmt="%.1f,%.2f,%.3f,%.4f,%.d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,",delimiter=',')

1-3-3 delimiter

delimiter:加载分隔符,默认是空格。

#使用,作为分隔符
np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',')

1-3-4 newline

newline:行分隔符,默认换行符。

np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',',newline='')

1-3-5 header

header:开头字符串(存储为csv文件时可以生成标题)。如果每一列都要加上标题的话,可以使用指定的分隔符分开。如果不加分隔符,那就默认的加上一列。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header')

使用分隔符分开,给每一列都添加上标题。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='first,second,trid' )

 1-3-6 footer

footer:结尾字符串。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header',footer='The Footer')

1-3-7 comments

comments:文中的注释。与header配合使用,在实验时如果未设置header参数,即使设置了comments参数也无效。

#header = ''
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = '',comments='First')
#不设置header
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',comments='First')

#header = 'The header'
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = 'The header',comments='First')

2 np.savetxt()存储csv文件

2-1 示例

把header作为生成的csv文件的title

np.savetxt('./data1.csv',data,fmt="%d,",delimiter='',header = 'First,Second,Third') 

在读取时,key即为设置的header,在第一个key中会携带特殊符号#。

总结

到此这篇关于numpy工程实践之np.savetxt()存储数据的文章就介绍到这了,更多相关np.savetxt()存储数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

阅读全文