3

我的应用程序允许用户上传最大 50MB 的 csv 文件。我想向用户展示上传文件的预览。我可以只读取 csv 的前 5 行吗?我目前正在使用 CSV.read 函数,显然这将读取整个文件并且速度很慢。

4

2 回答 2

16

CSV#foreach返回一个可枚举的,所以只需调用Enumerable#take它:

csv_preview_data = CSV.foreach(csv_path, headers: false).take(5)
于 2018-09-07T07:05:49.263 回答
0

根据我的观点,读取固定数量记录的最简单方法是:

preview_data = CSV.readlines(csv_path, headers: false)[0,5]
于 2018-09-07T09:29:08.753 回答