Как прочитать первые 5 строк файла CSV, используя встроенный в Ruby CSV - PullRequest
0 голосов
/ 07 сентября 2018

Мое приложение позволяет пользователю загружать CSV-файл размером не более 50 МБ. Я хотел показать пользователю предварительный просмотр загруженного файла. Могу ли я прочитать только первые 5 строк CSV? В настоящее время я использую функцию CSV.read, очевидно, что это будет читать весь файл и медленно.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Простейшие способы прочитать фиксированное количество записей на мой взгляд:

preview_data = CSV.readlines(csv_path, headers: false)[0,5]
0 голосов
/ 07 сентября 2018

CSV#foreach возвращает перечислимое значение, поэтому просто вызовите Enumerable#take для него:

csv_preview_data = CSV.foreach(csv_path, headers: false).take(5)
...