重新分析文件或取消勾选

2024-04-26 23:02:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个100Mb的文件,大约有1000万行,每次运行代码时都需要解析到字典中。这个过程非常缓慢,我正在寻找加速的方法。我想到的一个想法是对文件进行一次解析,然后使用pickle将其保存到磁盘。我不确定这是否会加速。你知道吗

谢谢你的建议。你知道吗

编辑: 在做了一些测试之后,我担心在创建字典时会出现速度减慢的情况。虽然我不介意做得更好,但酸洗速度似乎要快得多。你知道吗

拉利特


Tags: 文件方法代码编辑字典过程情况速度
2条回答

根据我的经验,MessagePack在python中转储/加载数据要比cPickle快得多,即使使用最高的协议。你知道吗

然而,如果你有一本字典,里面有一千万个条目,你可能需要检查一下你没有达到你电脑内存的上限。如果内存不足,并且必须使用swap,那么这个过程会慢得多。你知道吗

根据您使用数据的方式,您可以

  • 将它分成许多较小的文件,只加载所需的内容
  • 在文件中创建索引并延迟加载
  • 将其存储到数据库,然后查询数据库

你能告诉我们你的数据是什么样的(结构)吗?你知道吗

你是如何使用这些数据的?你真的在每次执行中都使用每一行吗?如果每次运行只使用一个子集,数据是否可以预排序?你知道吗

相关问题 更多 >