python中的CSV大数据读取

主要有两种方式:

1. pd.read_csv(file, chunksize=chunk_size)这样可以保证分块读取;下面的博客提供了如下的代码

 https://blog.csdn.net/qq_36330643/article/details/78739764
    
def get_df(file, chunk_size=1e5):
    mylist = []
    for chunk in pd.read_csv(file, chunksize=chunk_size):
        mylist.append(chunk)
    temp_df = pd.concat(mylist, axis= 0)
    del mylist
    return temp_df

2. dask包

import dask.dataframe as dd

dd.read_csv(...)

dask包采用的是并行读取,速度会快很多。在个人笔记本上测试了一组

13605401*8的数据,pd.read_csv需要11s, dd.read_csv仅需要22ms.

需要注意的是,安装需要采用pip install 'dask[complete]'的方式,保证dask完整安装。

参考:

https://stackoverflow.com/questions/41453473/default-pip-installation-of-dask-gives-importerror-no-module-named-toolz

https://blog.csdn.net/qq_36330643/article/details/78739764

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值