【发布时间】:2017-12-14 20:49:49
【问题描述】:
我已经尝试过长度方法来获取行数,并且至少需要 2 分钟才能返回行数。长度方法最快可达 10 000 行,超过 100 000 行时速度太慢。有没有办法在 2 秒内获得行数,即使文件包含超过 10 万行?
我使用了以下代码。
file = params[:file]
f = File.open(file.path, 'r:iso-8859-1:utf-8')
csv_file = CSV.parse(f.read, :headers => true, :converters => :all, :header_converters => lambda {|h| h.to_s.include?(' ') ? h.downcase.parameterize.underscore : h})
csv_file.length
【问题讨论】:
-
AbM 和 seancdavis - 我已经在上面尝试过,没有改进。
标签: ruby-on-rails csv