Python数据分析基础与应用模块3数据分析应用NumPy
3.7使用NumPy读写文件
1.认知CSV文件格式CSV是一种通用的、相对简单的文件格式,在商业和科学领域广泛应用。CSV(Comma-SeparatedValues,CSV,即逗号分隔值。有时也称为字符分隔值,因为分隔字符也可以不是逗号)是一种非常流行的表格存储文件格式,这种格式适合储存中型或小型数据规模的数据。CSV格式文件以纯文本形式存储表格数据(数字和文本),纯文本意味着该文件是一个字符序列。CSV文件通常使用半角逗号分割列,如果数据中含有逗号,就要用双引号将整个数据块包括起来。使用文本文件、Excel都可以打开CSV文件。3.7.1常见的数据文件格式
3.7.1常见的数据文件格式2.认知npy和npz文件格式npy和npz文件实质上是二进制格式文件。npy文件可以保存任意维度的numpy数组,不限于一维和二维;npy保存了numpy数组的结构,保存的时候是什么shape和dtype,取出来时就是什么样的shape和dtype。
3.7.1常见的数据文件格式3.认知HDF5文件格式HDF(HierarchicalDataFormat)是一种为存储和处理大容量科学数据设计的文件格式,当前流行的版本是HDF5。HDF5拥有一系列的优异特性,使其特别适合进行大量科学数据的存储和操作,例如它支持非常多的数据类型、灵活、通用、跨平台、可扩展、高效的I/O性能、支持几乎无限量(高达EB)的单文件存储等。
3.7.2使用loadtxt()和savetxt()函数读写txt或csv文件在NumPy中,可以使用loadtxt()函数读取txt文件和csv文件,从文本文件中加载数据,要求txt文件中每行必须具备相同的元素个数。使用savetxt()函数将数组写入txt文件和csv文件,savetxt()函数只能保存一维和二维numpy数组,当numpy数组array有多维时,需要将其使用array.reshape((a.shape[0],-1))函数变换后才能用这种方式保存。savetxt()函数不能追加保存数据,即每次np.savetxt()都会覆盖之前的内容。loadtxt()函数的语法格式如下:numpy.loadtxt(fname,dtype=class‘float’,comments=’#’,delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding=‘bytes’)
3.7.3使用load()和save()函数读写npy或npz文件在NumPy中,load()和save()函数专门用于读写二进制格式文件,它们具有自动处理数组元素类型和形状的功能。在NumPy中,可以使用load()函数读取npy或npz文件,使用save()函数和savez()函数将数组写入npy或npz文件。save()函数用于将一个数组以.npy格式保存为二进制文件,save()函数保存之后的扩展名为.npy,npy保存了numpy数组的结构。但只能保存一个numpy数组,每次保存会覆盖之前文件中存在的内容(如果有的话)。
3.7.3使用load()和save()函数读写npy或npz文件savez()函数用于将多个数组保存到一个非压缩的.npz格式的文件中,savez()函数保存之后的扩展名为.npz。使用解压程序打开npz文件可以看到里面是若干个以“数组名称”命名的npy格式的文件,数组名称默认为“arr_数字”的形式,在savez()函数中可以通过指明函数的参数名称来命名数组。
3.7.4使用h5py读写hdf5文件使用h5py读写hdf5文件不限制numpy数组维度,可以保持numpy数组结构和数据类型,适合numpy数组很大的情况,文件占用空间小;可以通过key来访问dataset(可以理解为numpy.array),读取的时候很方便,不会混乱。可以不覆盖原文件中含有的内容。可以使用File方法读写hdf5文件,写文件时设置参数为w,读文件时设置参数为r。
3.7.5使用NumPy的genfromtxt()函数从文本文件中读取数据NumPy的genfromtxt()函数用于从一个文本文件读取数据并将其插入数组中,当存在缺失值时则进行特殊处理。通常情况下,genfromtxt()函数主要接收3个参数:存放数据的文件名、用于分隔值的字符和是否含有列标题。
快乐学习高效学习祝学习进步!