python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python读取CSV文件

教你用Python读取CSV文件的5种方式

作者:寰宇001

一个股票的数据集,其实就是常见的表格数据,有自己的头部和身体,这篇文章主要介绍了用Python读取CSV文件的5种方式,通过五招给大家介绍的非常详细,需要的朋友可以参考下

在python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。

典型的数据集stocks.csv:

在这里插入图片描述

一个股票的数据集,其实就是常见的表格数据。有股票代码,价格,日期,时间,价格变动和成交量。这个数据集其实就是一个表格数据,有自己的头部和身体。

第一招:简单的读取

我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码:

在这里插入图片描述

喂给reader一个可迭代对象或者是文件的object,然后返回一个可迭代对象。

在这里插入图片描述

在这里插入图片描述 

第二招:用nametuple

上面的第一招其实是最简单的,下面我们用nametuple 来包裹一下这个生成的row数据。

在这里插入图片描述

第三招:用tuple类型转换

如果我们对csv数据每一行的类型都非常清楚的话,嘿嘿可以用一个设定好的数据格式转换头来对数据进行转换。

在这里插入图片描述

操作的步骤其实跟上面差不多,就是对数据结果的清洗处理稍微不一样。这里非常巧妙的zip来构造一个嵌套的数据列表,然后用convert(data)把csv文件里面每一行的数据进行类型转换,这招真的不错!
看一下结果:

在这里插入图片描述

第四招:用DictReader

上面用的nametuple其实也是一个数据的映射,有没有什么方法可以直接把csv 的内容用映射的方法读取,直接出来一个字典,还真有的,来看一下代码:

在这里插入图片描述

是不是非常简捷,原来csv模块直接内置了DictReader(),按照字典的方法进行读取,然后生成一个有序的字典,看一下结果:

在这里插入图片描述

有兴趣的可以看一下这个DictReader()的源码,它其实一个内部构造的迭代器类,在内部的__next__其实也是用的OrderedDict(zip(self.fieldnames, row))来生成的。

第五招:用字典转换

如果我们需要对这个csv里面的数据进行清洗,因为读出来的时候都是字符串,我们需要更新为特定的数据类型,这个时候也可以用字典转换这一招,也是非常巧妙的,我们看一下源码:

在这里插入图片描述

原来的数据价格Price和成交量,我希望最后读取生成的是一个浮点型数据和整形的数据,这么搞呢,用一个字典来巧妙的更新key即可。

参考链接 :

用Python读取CSV文件的5种方式https://mp.weixin.qq.com/s/cs4buSULva1FgCctp_fB6g

到此这篇关于教你用Python读取CSV文件的5种方式的文章就介绍到这了,更多相关Python读取CSV文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文