【问题标题】:Ruby csv read first line in csv file [duplicate]Ruby csv读取csv文件中的第一行[重复]
【发布时间】:2013-01-06 17:43:20
【问题描述】:

可能重复:
Ruby view csv data

在我的应用程序中,我正在读取 csv 文件,但为什么在视图中我只有第二条、...、n 条记录,而没有第一行? 这是代码:

def common_uploader
    require 'csv' 
    @csv = CSV.read("/#{Rails.public_path}/uploads_prices/"+params[:file], {:encoding => "CP1251:UTF-8", :col_sep => ";", :row_sep => :auto, :headers => :false})
  end

:headers => :false 我写...但是为什么我没有从 csv 文件中得到第一行? (红宝石 1.9.3)

那么,如何获得第一行呢?

【问题讨论】:

    标签: ruby csv fastercsv


    【解决方案1】:

    应该是false,而不是:false

    【讨论】:

    【解决方案2】:

    您也可以在 csv 上使用[0,20]-方法:

    require 'csv' 
    csv = CSV.parse(DATA.read, {
      :col_sep => ",", 
      :headers => false
      }
    )
    csv[0,10].each{|line|
      p line #-> first 10 lines
    }
    __END__
    00,a,b,c
    01,a,b,c
    02,a,b,c
    03,a,b,c
    04,a,b,c
    05,a,b,c
    06,a,b,c
    07,a,b,c
    08,a,b,c
    09,a,b,c
    10,a,b,c
    11,a,b,c
    12,a,b,c
    13,a,b,c
    14,a,b,c
    15,a,b,c
    16,a,b,c 
    17,a,b,c
    18,a,b,c
    19,a,b,c
    20,a,b,c
    

    但这会将所有行读取到csv - 它只是一个受限制的输出。

    【讨论】:

    • 好的,谢谢...但是请把它从这里移到stackoverflow.com/questions/14114129/ruby-view-csv-data
    • the Tin Mans answer 已经包含解决方案。
    • csv[0,10].each{|line|是我需要的:他没有为每个循环都写它
    • 该问题的所选答案中的第一个解决方案是array = CSV.read('test.csv')[0, 2]。了解您可以使用 each 迭代 [0, 2][0, 10] 的数组切片是您的工作。
    猜你喜欢
    • 1970-01-01
    • 2016-12-29
    • 2015-04-07
    • 2014-06-30
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    相关资源
    最近更新 更多