Rails - 文件中的行数

时间:2010-03-26 23:23:12

标签: ruby-on-rails file csv fastercsv

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

示例1

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

示例2

FasterCSV.foreach('clients.csv')

THX。

1 个答案:

答案 0 :(得分:7)

您的文件有多大?

此选项将整个文件加载到内存中,因此如果存在大小/内存问题,则可能无效。

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

此选项使用Ruby的内置CSV模块,如您所知,它很慢,但确实有效。它还将整个文件加载到内存中:

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

FasterCSV.read CSV.readlines 都会返回数组数组,因此您可以在结果中使用所需的任何数组魔术。