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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章