4

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

请帮帮我

4

2 回答 2

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
于 2012-05-22T08:11:16.900 回答
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
于 2012-05-22T07:08:10.373 回答