我有两个具有相同标题的CSV文件。我想比较这些文件并返回第二个文件中缺少的条目。这是一个示例:
file1.csv
fname,lname,city,state
Joe,Smith,Dallas,TX
Jane,Done,Baltimore,MD
Frank,Jones,Plano,TX
file2.csv
fname,lname,city,state
Joe,Smith,Dallas,TX
Jane,Done,Baltimore,MD
这是我的代码:
# Returns True if a match is found
# and False if none is found
def find_in_csv(csv_text,search_column,search_string)
csv_text.find {|row|
return row[search_column] == search_string
}
end
如何扩展此功能以允许返回丢失的行?
答案 0 :(得分:2)
这将返回在file1.csv中存在但在file2.csv中缺失的行的数组
csv1 = CSV.read("file1.csv")
csv2 = CSV.read("file2.csv")
csv1 - csv2