我认为可能不是一个非常独特的问题。
我有一个用户可以上传CSV的应用程序。我想根据CSV中三个字段的值,对数据库中已存在的数据验证CSV。
想象一下,我有一个包含五列的CSV:Stuff 1,Stuff 2,Stuff 3,Stuff 4,Stuff 5.
我需要找到CSV中存在的东西1,东西3和东西4的所有独特组合,以便我可以对数据库运行查询,以查看是否存在已存在这些组合的记录。
有关如何实现这一目标的任何想法?
以下是我的CSV对象的内容。
CSV::HeaderConverters[:mystrip] = lambda{|s| s.strip}
@csv = CSV.readlines(@import_file.path, header_converters: [:mystrip] , headers: true)
答案 0 :(得分:0)
combinations = @csv.map {|row| [row[0], row[2], row[3]]}.uniq
combinations.each do |values|
if Model.where(value_1: values[0], value_2: values[1], value_3: values[2]).exists?
# Stuff
end
end