Python是目前最火的语言之一,无论是做开发、测试、数据分析、后端,还是办公自动化,都可以帮你轻松解决一些重复琐碎的工作。而在日常的工作中,经常会打交道的就是文件的处理,其中CSV文件又是经常使用到的一种格式。
今天我们就给大家分享5招,让你能优雅地读取CSV文件。
先来看一下一个典型的数据集stocks.csv:
这是一个股票的数据集,就是常见的表格数据,有股票代码,价格,日期,时间,价格变动和成交量。你也可以自己创建一个数据集,只要有自己的表头和数据即可。
第一招:简单的读取
我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码:
传给reader一个可迭代对象或者是文件的object,然后返回一个可迭代对象。
首先读取csv 文件,然后用csv.reader生成一个csv迭代器f_csv
然后利用迭代器的特性,next(f_csv)获取csv文件的头,也就是表格数据的头
接着利用for循环,一行一行打印row的内容,也就是表格数据的身体
这是最常见的csv读取方法,估计80%以上的人都只用这一招。但其实csv还有更灵活的读取方法。
第二招:用nametuple
上面第一招是最简单的,下面我们用nametuple 来包裹一下这个生成的row数据:
nametuple其实是一个非常有用的类,这个类属于collections模块,而这个模块简直