如何在ruby 1.9.2中删除csv文件中的整行

Jee*_*gre 4 ruby csv

我正在构建一个应用程序,它从CSV文件中读取数据并将这些数据存储到数据库中.我从第三方获得的csv文件包含第一行中的标题,在将这些数据输入数据库之前必须将其删除.如何以编程方式删除第一行,然后仅将值或数据推送到数据库.我使用的是ruby 1.9.2版本,因此我不必使用"fastercsv".我正在使用标准CSV库.

请帮助我

pgu*_*rio 8

当你这样做时:

CSV.open(filename, :headers => true) do |row|
  # it will use the first line as headers. now you can do:
  row['my_header_value']
end
Run Code Online (Sandbox Code Playgroud)


Hck*_*Hck 5

您可以使用以下方法一次获取所有行:

arr_of_arrs = CSV.read("path/to/file.csv")
Run Code Online (Sandbox Code Playgroud)

然后你可以arr_of_arrs.drop(1)用来删除标题.或者您可以使用arr_of_arrs.each_with_index跳过第一行(标题),如下所示:

arr_of_arrs.each_with_index do |e, i|
  next if i == 0

  #process each row here
end
Run Code Online (Sandbox Code Playgroud)