主要有两种方式:
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://blog.csdn.net/qq_36330643/article/details/78739764