Rails - количество строк в файле - PullRequest
3 голосов
/ 27 марта 2010

Эй. Как я могу получить общее количество строк в файле (не хочу делать это с циклом). Я читаю файл CSV.

Пример 1

CSV.open('clients.csv', 'r')

Пример 2

FasterCSV.foreach('clients.csv')

Thx.

1 Ответ

7 голосов
/ 27 марта 2010

Насколько велик ваш файл?

Этот параметр загружает весь файл в память, поэтому при наличии проблем с размером / памятью он может не работать.

numrows = FasterCSV.read('clients.csv').size

Эта опция использует встроенный в Ruby CSV-модуль, который, как вы знаете, работает довольно медленно, но работает. Он также загружает весь файл в память:

numrows = CSV.readlines('clients.csv').size

Обе FasterCSV.read и CSV.readlines возвращают массивы массивов, поэтому вы можете использовать любую магию массива, какую захотите, для результатов.

...