我的应用程序允许用户上传最大为50MB的csv文件。 我想向用户展示上传文件的预览。 我可以只读取csv的前5行吗? 我当前正在使用CSV.read函数,显然这将读取整个文件并且速度很慢。
答案 0 :(得分:5)
CSV#foreach
返回一个可枚举的对象,因此只需对其调用Enumerable#take
:
csv_preview_data = CSV.foreach(csv_path, headers: false).take(5)
答案 1 :(得分:0)
我认为,读取固定数量记录的最简单方法是:
preview_data = CSV.readlines(csv_path, headers: false)[0,5]