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

时间:2012-05-22 06:47:24

标签: ruby csv

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

请帮助我

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:5)

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

arr_of_arrs = CSV.read("path/to/file.csv")

然后您可以使用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