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