机器学习Python实践》——数据导入(CSV)
一、CSV
逗号分隔值(逗号分隔值,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;记录每条由字段组成,字段间的分隔符是其它字符或字符串,常见最的的英文逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(注)来开启,再则先另存新档后用EXCEL开启,也是方法之一。
CSV文件格式的通用标准并不存在,但是在RFC 4180中有基础性的描述。使用的字符编码同样没有被指定,但是7位ASCII是最基本的通用编码。
CSV其实就是文本文件,而并不是表格;
.csv和.xls区别在于,.xls只能用excel打开,而且,xls和csv的编码格式也不一样,简单来说,csv可以用文本(txt)打开也可以用excle打开,而xls只能用擅长打开
最后,如何在CSV与XLS之间抉择呢?这里我们要弄清楚几个问题,CSV只是单纯的文本文件,同样的,也只是单纯的以文本格式存储,CSV无法生成公式,依赖,也无法保存公式,依赖!所以,如果单纯的只是存储文本格式的数据,可以直接选择使用CSV文件,读写方便,易于实现,数据可以表格化展示,这就是优点!
注意:CSV文件可以通过改变文件后缀名或者通过练成工具强制转换成的.xls文件,但是要注意乱码问题。
二、CSV文件读和写
(1)通过标准的Python的库导入CSV文件
CSV,用来处理CSV文件。
这个类库中的reader()函数用来读入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个Numpy数组,用来训练算法模型。
-
from csv import reader
-
import numpy as np
-
filename='pima_data.csv' #这个文件中所有数据都是数字,并且数据中不包含文件头。
-
with open(filename,'rt') as raw_data:
-
readers = reader(raw_data, delimiter=',')
-
x=list(readers)
-
data=np.array(x).astype('float')
-
print(data.shape)
(2)采用Numpy导入CSV文件
可以使用Munpy的loadtxt()函数导入数据。使用这个函数处理的数据没有文件头,并且所有的数据结构都是一样的,也就是说,数据类型都是一样的。
-
import numpy as np
-
filename='pima_data.csv'
-
with open(filename,'rt') as raw_data:
-
data=loadtxt(raw_data,delimiter=',')
-
print(data.shape)
(3)采用Pandas导入CSV文件 - 机器学习项目中常用来做数据清洗与数据准备工作。推荐使用。
使用熊猫来导入文件需要使用pandas.read_csv()函数。这个函数的返回值是数据帧,可以很方便地进行下一步的处理。
-
from pandas import read_csv
-
filename='iris.data.csv'
-
names=['separ-length','separ-width','petal-length','petal-width','class']
-
dataset=read_csv(filename,names=names)
-
print(dataset.shape)
文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。
原文链接:drugai.blog.csdn.net/article/details/105683677
- 点赞
- 收藏
- 关注作者
评论(0)