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