如何高效读取CSV文件后进行高效处理?(之一:高效读取CSV格式文件)

这篇博客介绍了如何高效地读取和处理CSV文件,特别是针对需要读取第一列特定数据的情况。文章通过对比csv模块、numpy的loadtxt方法和pandas的read_csv方法,推荐使用pandas的read_csv,因其效率较高。如果需要将数据转换为numpy数组,可以结合DataFrame的as_matrix方法。
摘要由CSDN通过智能技术生成

背景简介:

现有一个文件夹,全部是CSV格式文件。需要从这些CSV文件中逐一读取第一列,取前100个和后100个组成一个二维数组,最终将这些二维数组合并成一个大的二维数组


问题解剖

可以把问题分成三大部分:

  1. 逐一读取CSV格式文件的第一列;
  2. 对每个CSV文件进行处理(取前100个和后100个,合并);
  3. 对上一步获得的的二维数组进行合并。

问题分析

问题一: (逐一)读取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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值