【发布时间】:2012-11-30 17:15:36
【问题描述】:
我正在解决一个小问题,并且会就如何解决它提出一些建议: 给定一个包含未知数量的列和行的 csv 文件,输出一个包含值的列列表以及每个值重复的次数。不使用任何库。
如果文件很小,这应该不是问题,但是当它是几个 Gig 时,我得到 NoMemoryError: failed to allocate memory。有没有办法创建哈希并从磁盘读取而不是将文件加载到内存?你可以在 perl 中使用绑定的哈希来做到这一点
编辑:IO#foreach 会将文件加载到内存中吗? File.open(filename).each 怎么样?
【问题讨论】:
-
这是工作任务?显示您编写的代码。
-
只是想知道...您是否因为没有任何解决方案有帮助而没有接受答案?还是另有原因?这个问题再次出现在我的活动中,我想知道。