Numpy读写文件
本节主要介绍的机器可读文件格式为CSV。
.CSV概念
CSV(Comma-Separated Values,逗号分隔值(.csv))是一种非常简单的数据存储方式。
- CSV文件将数据表格存储为纯文本,表格中的每一个单元格都是一个数值或字符串,单元格之间常以逗号分隔。
- 与Excel文件相比,CSV文件的一个主要优点是它的纯文本格式可以被大多数程序存储、转存和处理。
- 使用CSV格式时需要注意以下几点:
- 除了逗号,还有其他可代替的分隔符,例如“|”和“\t”
- 有些数据会出现转义字符,如果某个值内部包含了分隔符,则该值需加上引号或者在分 隔符之前加上转义字符
- 文件可能有不同的换行符,Unix系统使用“\n”,Microsoft系统使用“\r\n”,Mac系统之前使用“\r”现在使用“\n”
- 在第一行可以加上列名
例子
下面给出一个数据样本,其中只包含经过挑选的特定字段。在文本编辑器中打开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对象