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