【工程实践】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中会携带特殊符号#。