Jupyter加载较大csv文件的时候总是死机,不升级内存的前提下有啥解决方法吗

两百多万行7列照理文件不应该太大,即使是6G的内存也足够了啊,你这个CSV的文件尺寸到底有多大?还有就是,试试看不要用jupyter,直接用python程序跑,规避是前者问题的可能。

假设csv的确很大,小内存处理有些吃力了,其实pandas本身有很多技巧可以考虑的,可以降低对内存的需求。

第一个,只读取需要的列,用read_csv函数里面的usecols参数,指定读取的列。这样读取的dataframe就可以小一点。

【Jupyter加载较大csv文件的时候总是死机,不升级内存的前提下有啥解决方法吗】 第二个,设置好每一列的格式,用参数dtype。这样可以避免一堆的object列,毕竟同样一个数字,用int64可比object节省地方。

第三个,其实pandas的read_csv自带分批加载的功能,用的是chunksize函数,设置了之后就返回一个迭代器,可以用for来逐个提取计算。使用说明可以看官网的说明:IO Tools (Text, CSV, HDF5, …)

■网友
用pandas read_csv, 设置chunk_size. https://www.google.com/amp/cmdlinetips.com/2018/01/how-to-load-a-massive-file-as-small-chunks-in-pandas/amp/

■网友
当成普通文本文件,读一行处理一行。
请看
黄哥:python生成器处理大文本文件的代码
还有一个方法,请看以前我写的文章
黄哥:用Dask 处理csv大文件。


    推荐阅读