我正在使用encoding/csv读取和解析一个非常大的 .csv 文件。
我需要随机选择行并通过一些测试。
我目前的解决方案是读取整个文件,如
reader := csv.NewReader(file)
lines, err := reader.ReadAll()
然后从lines
其中随机选择行明显的问题是阅读整个内容需要很长时间,而且我需要大量内存。
提问:
我的问题是,encoding/csv给我的io/reader是有没有用它来阅读,而不是一次加载整个事情乱行的方法吗?
这io/reader与其说是一个实际问题,不如说是一个需要了解更多的好奇心,因为很可能最终读取一次并在内存中访问它更有效,而不是继续在磁盘上寻找随机行。
慕尼黑5688855
收到一只叮咚
相关分类