我正在处理一个小问题,并会就如何解决它提出一些建议:给定一个列数和行数未知的 csv 文件,输出一个包含值的列列表以及每个值重复的次数。不使用任何库。
如果文件很小,这应该不是问题,但是当它是几个 Gig 时,我得到 NoMemoryError: failed to allocate memory。有没有办法创建哈希并从磁盘读取而不是将文件加载到内存?你可以在 perl 中使用绑定的哈希来做到这一点
编辑: IO#foreach 会将文件加载到内存中吗?File.open(filename).each 怎么样?