Numpy读写文件

发布时间 2023-10-25 11:56:08作者: Jedi_Pz

本节主要介绍的机器可读文件格式为CSV。

.CSV概念

CSVComma-Separated Values,逗号分隔值(.csv))是一种非常简单的数据存储方式。

  • CSV文件将数据表格存储为纯文本,表格中的每一个单元格都是一个数值或字符串,单元格之间常以逗号分隔。
  • 与Excel文件相比,CSV文件的一个主要优点是它的纯文本格式可以被大多数程序存储、转存和处理。
  • 使用CSV格式时需要注意以下几点:
    1. 除了逗号,还有其他可代替的分隔符,例如“|”和“\t”
    2. 有些数据会出现转义字符,如果某个值内部包含了分隔符,则该值需加上引号或者在分 隔符之前加上转义字符
    3. 文件可能有不同的换行符,Unix系统使用“\n”,Microsoft系统使用“\r\n”,Mac系统之前使用“\r”现在使用“\n”
    4. 在第一行可以加上列名

例子

下面给出一个数据样本,其中只包含经过挑选的特定字段。在文本编辑器中打开CSV文件,看到的数据应该与下列数据相似。

sepal_len,sepal_width,petal_len,petal_width,Species
5.1,      3.5,        1.4,      0.2,        Iris-setosa
4.9,      3,          1.4,      0.2,        Iris-setosa
4.7,      3.2,        1.3,      0.2,        Iris-setosa
4.6,      3.1,        1.5,      0.2,        Iris-setosa
5,        3.6,        1.4,      0.2,        Iris-setosa
5.4,      3.9,        1.7,      0.4,        Iris-setosa

numpy.loadtxt()

  • 使用numpy.loadtxt()函数可以方便地读写数据文件,但要求数据文件的每一行格式相同
  • 语法格式:
numpy.loadtxt(fname,             #文件地址
			  dtype=,            #数据类型[可选参数]
			  comments='#',      #设置需跳过行的标识
			  #如设置为“#”,则“#”开头的行会被跳过
			  delimiter=None,    #设置分隔符
			  converters=None,   #是否对读取的数据进行预处理
			  skiprows=0,    	 #选择跳过的行数
			  usecols=None,      #指定需要读取的列
			  unpack=False       #是否将数据进行向量输出)
	读取鸢尾花数据集csv文件。
	参考程序如下:
	import numpy as np  
	  
	csv = np.loadtxt('iris.csv',dtype=str,delimiter=',')  
	print(csv)

numpy.savetxt()

  • 写入文本文件后可以使用numpy.savetxt()函数保存,具体的语法格式为:
  • numpy.savetxt(fname, X)
    • fname:文件名,
    • X:被写入文件的ndarray数据,数据类型为ndarray对象