【发布时间】:2012-06-19 15:34:34
【问题描述】:
我有一个 100Mb 的文件,其中包含大约 1000 万行,每次运行代码时都需要将其解析为字典。这个过程非常缓慢,我正在寻找加快速度的方法。想到的一个想法是解析文件一次,然后使用 pickle 将其保存到磁盘。我不确定这会导致加速。
任何建议表示赞赏。
编辑: 做了一些测试后,我担心创建字典时会出现速度变慢。酸洗似乎确实要快得多,尽管我不介意做得更好。
拉利特
【问题讨论】:
-
这需要几分钟才能尝试。你试过了吗?
-
取决于你正在做多少解析工作,如果是 > 比pickler完成的工作。您可能只是受 I/O 限制。只有一种方法可以找出答案,我认为 Stackoverflowers 不会为你做这件事:)
-
每行如何在字典中结束?
-
我会进行一些测试并让人们知道。每行的格式为 a,b,c,d,我创建了一个字典存储,这样 store[a] = (b,c,d)。请注意,a 可能出现在许多不同的行上。
-
您是否使用
for循环将数据输入dict?将其改写为列表理解可以使您的代码显着加快。