背景简介:
现有一个文件夹,全部是CSV格式文件。需要从这些CSV文件中逐一读取第一列,取前100个和后100个组成一个二维数组,最终将这些二维数组合并成一个大的二维数组
问题解剖
可以把问题分成三大部分:
- 逐一读取CSV格式文件的第一列;
- 对每个CSV文件进行处理(取前100个和后100个,合并);
- 对上一步获得的的二维数组进行合并。
问题分析
问题一: (逐一)读取CSV格式文件
考虑到实际情况,可以以一个CSV文件为例进行说明。逐一读取多个同一路径下的文件可以考虑使用glob模块的iglob方法,这里不废话。
目前,Python3(以下简称Python)至少有三种办法读取CSV格式文件,分别是:
1.csv模块
2.numpy里面的loadtxt方法
3.pandas里面的read_csv方法
这里采用time模块里的timeit计时模块,测试机器的CPU为i7 6820HQ,16G内存,搭载windows10 64位系统。
由于csv.reader方法是把每一行数据转化成了一个list,list中每个元素是一个字符串,并不能(或者说很难)满足我们的需求(可以间接实现我们的需求,后面有机会再补充),因而这里只比较numpy模块的方法和p