如何使用内置的ruby csv读取前5行csv文件

Yak*_*ate 1 ruby csv ruby-on-rails ruby-csv

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

Ale*_*kin 8

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

csv_preview_data = CSV.foreach(csv_path, headers: false).take(5)
Run Code Online (Sandbox Code Playgroud)

  • @Зелёный `foreach.lazy.take(5).force` 可能是懒惰的。 (3认同)
  • 它是否只读取前 5 行而不加载内存中的所有文件? (2认同)