Reputation: 81
My application lets user to upload csv file with maximum of 50MB. I wanted to show the user the preview of the uploaded file. Can I read only the first 5 lines of csv? I am currently using CSV.read function, obviously this will read the entire file and is slow.
Upvotes: 3
Views: 3457
Reputation: 2398
The simplest ways to read a fixed number of records for my opinion would be:
preview_data = CSV.readlines(csv_path, headers: false)[0,5]
Upvotes: 0
Reputation: 120990
CSV#foreach
returns an enumerable, so just call Enumerable#take
on it:
csv_preview_data = CSV.foreach(csv_path, headers: false).take(5)
Upvotes: 16