读取大文件时候遇到的问题
时间:2021-04-12 12:17:49
收藏:0
阅读:0
这几天打比赛,要读取大文件。
一直习惯用pandas读取数据,这一次也不例外,但是数据特别特别大,内存不够用,自己想把数据排一下序,都没有办法。
后来才开窍,一行一行读入,并且写到本地硬盘文本文件里。
但是我还是用pandas去一行一行读,再一行一行写。速度出奇的慢。
我思索良久,意识到pandas读取数据为DataFrame,会识别数据类型,并且开辟空间进行存储。时间会消耗很多。由于数据量极大,很小的时间也会累积成很庞大的延迟。
所以,还是需要使用python自带的io流。
使用open
方法打开文件,按行读取为字符串,并提取关键字以保存到本地。这样速度远超pandas。
因此,在使用高级结构的时候,也应该知道底层的逻辑,这样才能减少问题、提高效率。
评论(0)