机器学习Python实践》——数据导入(CSV)

举报
DrugAI 发表于 2021/07/15 04:31:14 2021/07/15
【摘要】 一、CSV 逗号分隔值(逗号分隔值,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。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数组,用来训练算法模型。


   
  1. from csv import reader
  2. import numpy as np
  3. filename='pima_data.csv'      #这个文件中所有数据都是数字,并且数据中不包含文件头。
  4. with open(filename,'rt') as raw_data:
  5. readers = reader(raw_data, delimiter=',')
  6. x=list(readers)
  7. data=np.array(x).astype('float')
  8. print(data.shape)

(2)采用Numpy导入CSV文件

可以使用Munpy的loadtxt()函数导入数据。使用这个函数处理的数据没有文件头,并且所有的数据结构都是一样的,也就是说,数据类型都是一样的。


   
  1. import numpy as np
  2. filename='pima_data.csv'
  3. with open(filename,'rt') as raw_data:
  4. data=loadtxt(raw_data,delimiter=',')
  5. print(data.shape)

(3)采用Pandas导入CSV文件 - 机器学习项目中常用来做数据清洗与数据准备工作。推荐使用。

使用熊猫来导入文件需要使用pandas.read_csv()函数。这个函数的返回值是数据帧,可以很方便地进行下一步的处理。


   
  1. from pandas import read_csv
  2. filename='iris.data.csv'
  3. names=['separ-length','separ-width','petal-length','petal-width','class']
  4. dataset=read_csv(filename,names=names)
  5. print(dataset.shape)

文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。

原文链接:drugai.blog.csdn.net/article/details/105683677

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。