Rails - 文件中的行数

xpe*_*int 3 csv ruby-on-rails file fastercsv

嘿.如何获取文件中的总行数(不想使用循环).我正在读CSV文件.

例1

CSV.open('clients.csv', 'r')
Run Code Online (Sandbox Code Playgroud)

例2

FasterCSV.foreach('clients.csv')
Run Code Online (Sandbox Code Playgroud)

谢谢.

Roa*_*ter 7

你的档案有多大?

此选项将整个文件加载到内存中,因此如果存在大小/内存问题,则可能无法正常工作.

numrows = FasterCSV.read('clients.csv').size
Run Code Online (Sandbox Code Playgroud)

这个选项使用Ruby的内置CSV模块,你知道它很慢,但确实有效.它还将整个文件加载到内存中:

numrows = CSV.readlines('clients.csv').size
Run Code Online (Sandbox Code Playgroud)

无论FasterCSV.readCSV.readlines返回数组的数组,所以你可以使用你想要的结果的任何阵列魔力.