RubyCSV |如何在阅读 CSV 时跳过几列?
Ruby CSV | How to skip few columns while reading CSV?
我正在使用 Active record Import gem 将 CSV 文件中的数据批量导入数据库。但是我想在导入时跳过几个 CSV 列。
例如,我的 xaa.csv 有 headers 姓名、作者、author_id、评分。
导入时,我想跳过 'author_id' 列值并导入所有其他列。
books = CSV.read("/public/xaa.csv") //What more should I do here to skip the 3rd column
columns = [:name, :author, :rating]
Book.import columns, books, :validate => false
books = []
CSV.foreach('/public/xaa.csv', headers: true) do |row|
books << [row['name'], row['author'], row['rating']]
end
columns = [:name, :author, :rating]
Book.import(columns, books, validate: false)
books = CSV.readlines(path, headers:true).map{|row| row.values_at('name','rating') }
vegetaras 的版本内存效率更高。
我正在使用 Active record Import gem 将 CSV 文件中的数据批量导入数据库。但是我想在导入时跳过几个 CSV 列。
例如,我的 xaa.csv 有 headers 姓名、作者、author_id、评分。 导入时,我想跳过 'author_id' 列值并导入所有其他列。
books = CSV.read("/public/xaa.csv") //What more should I do here to skip the 3rd column
columns = [:name, :author, :rating]
Book.import columns, books, :validate => false
books = []
CSV.foreach('/public/xaa.csv', headers: true) do |row|
books << [row['name'], row['author'], row['rating']]
end
columns = [:name, :author, :rating]
Book.import(columns, books, validate: false)
books = CSV.readlines(path, headers:true).map{|row| row.values_at('name','rating') }
vegetaras 的版本内存效率更高。