本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了!

下面来简单介绍下。

实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据格式很特别也很普遍,截图如下:

csv文件中每行数据的每个特征列都是用逗号“,”隔开。CSV文件中除了保存数值外,还有一些属性值,如第一行以及第一列的label标签。所以在处理是需要进行相应的处理。

下面介绍下两种加载这种csv文件的方法

方法一:使用Python的csv模块

csv模块中的函数

reader(csvfile, dialect='excel', **fmtparams)
  • 1

参数说明: 
csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象,如果是文件对 
象,打开时需要加”b”标志参数。

dialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册,下文会提到。

fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。

加载文件代码:

import csv
def loadCSVfile1():list_file = []with open('train.csv','rb') as csv_file:  all_lines=cvs.reader(csv_file)  for one_line in all_lines:  list_file.append(one_line)  list_file.remove(list_file[0])arr_file = array(list_file)label = arr_file[:, 0]data = arr_file[:, 1:]return data, label  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

加载csv核心部分还是 

其中,‘rb’中的r表示“读”模式,因为是文件对象,所以加‘b’。open()返回了一个文件对象 
myFile,reader(myFile)只传入了第一个参数,另外两个参数采用缺省值,即以excel风格读入。reader()返回一个 
reader对象all_lines,all_lines是一个list,当调用它的方法lines.next()时,会返回一个string。上面程序的效果是将csv 
文件中的文本按行打印,每一行的元素都是以逗号分隔符’,’分隔得来。

方法一:使用Python的numpy库

有了numpy,Python对于数据的处理可以说是如虎添翼,速度也大大提升。使用numpy首先要在前面加载numpy库,代码如下:

import numpy as np
  • 1

对于上面的csv文件,下面程序用来读取数据部分:

def loadCSVfile2():tmp = np.loadtxt("train.csv", dtype=np.str, delimiter=",")data = tmp[1:,1:].astype(np.float)#加载数据部分label = tmp[1:,0].astype(np.float)#加载类别标签部分return data, label #返回array类型的数据
  • 1
  • 2
  • 3
  • 4
  • 5

三行代码,很简便。最后的结果是array类型,type为float64 


代码很简单,仅供参考!

Python加载csv文件的两种方式相关推荐

  1. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  2. HTML5动态加载资源方式,动态加载JavaScript文件的两种方法

    这篇文章主要为大家详细介绍了动态加载JavaScript文件的两种方法,感兴趣的小伙伴们可以参考一下 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval ...

  3. java读取csv文件的两种方式

    java读取csv文件的两种方式 1.CsvReader读取 import com.csvreader.CsvReader; /*** CsvReader 读取* @param filePath* @ ...

  4. Android加载GIF图片的两种方式

    飞哥语录:得到一件东西最好的方式是让自己配得上它. 方式一:使用第三开源框架直接在布局文件中加载gif 1.在工程的build.gradle中添加如下 buildscript {repositorie ...

  5. 第四章:数据存储-csv文件处理-读取csv文件的两种方式

    直接学习:https://edu.csdn.net/course/play/24756/280718 csv文件处理-读取csv文件的两种方式: # 这种方式读取到的每一条数据是个列表,所以需要通过下 ...

  6. java加载properties文件的几种方式,java高级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  7. java加载资源文件的3种方式

    使用绝对路径加载(不推荐) 直接写死路径,使用FileInputStream加载资源文件,但是路径就不能动了 public static void main(String[] args) throws ...

  8. HTML5动态加载资源方式,动态加载JavaScript文件的3种方式

    以下是遇到的几种动态加载JavaScript文件的方式,持续更新中... 一.使用document.write/writeln()方式 该种方式可以实现js文件的动态加载,原理就是在重写文档流,这种方 ...

  9. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

最新文章

  1. linux安装mysql5.7自己初始化_linux系统安装mysql5.7步骤
  2. Tomcat--HTTPS的简单应用
  3. MyBatis的association示例
  4. 找出有序数组X和Y中所有元素的中位数(X,Y分别含n个元素)(算法导论第三版9.3-8)
  5. js 获取鼠标在画布的位置_云凤蝶如何打造媲美 sketch 的自由画布
  6. python开发wince软件_Wince6.0应用开发:二、模拟器的使用
  7. 少年时对春有感-四季初
  8. 漫步微积分二十四——定积分引言
  9. python主要用于做什么-python主要用于哪些方向
  10. 2018-2019-1 20165214 《信息安全系统设计基础》第八周学习总结
  11. 如何退出while(cinvalue)的循环
  12. 通向架构师的道路(第十四天)Axis2 Web Service安全之rampart
  13. js三元运算符 js运算符优先级
  14. QuickTime格式解析
  15. Celery分布式任务队列学习记录
  16. 学习笔记(19):零基础搞定Python数据分析与挖掘-常用的正则符号(二)
  17. 2021高教杯数学建模A
  18. 多智能体强化学习基本概念
  19. D2D加载图片资源(2)
  20. python时间模块 datetime (datetime、timedelta和timezone部分)

热门文章

  1. 一个大学教授的精彩演讲~~
  2. 损失惨重:近期安全事件频发
  3. 微信控制家庭智能小管家机器人资料免费下载
  4. mw315r 虚拟服务器,水星MW315R桥接设置教程 | 192路由网
  5. lyngsat网站卫星数据解析
  6. SQL学习之——基本的SELECT
  7. IBM存储DS5020 配置
  8. 在外部DDR3内存中运行的MicroBlaze程序的固化方法
  9. 智能温湿度计原型设计-BLE 模组 SDK 开发
  10. 我们如何成为一个自律的人