删除并合并CSV文件中的重复记录

时间:2013-12-22 13:30:54

标签: ruby csv duplicates

数据集有重复记录。可以有不止一个 对同一联系人重复。

如何删除重复记录,并为每个记录构建一条记录 具有最大可能字段的名称。

示例输入文件:

FN,    LN,    phone1,      phone2,       email,        city  
Matt,  x,     9800000000,            ,              ,  NYC  
Matt,   ,     9800000001,  8822334490,              ,  
Matt,  x,     9845012345,  9800000000,              ,  
Matt,   ,     9800000000,            , xyz@gmail.com,  NYC  
Matt,  x,               ,  9845012345, xyz@gmail.com,  NYC  
Matt,  x,     9845012345,  9800000000,              ,  NYC  
Matt,  y,     9800000001,            ,              ,  NYC  
kyle,  z,     8759235755,            ,              ,  NJ

示例输出:

FN,    LN,  phone1,      phone2,    email,         city  
Matt,   x,  9800000000, 9845012345, xyz@gmail.com, NYC  
Matt,   y,  9800000001, 8822334490,              , NYC  
kyle,   z,  8759235755,           ,              , NJ

1 个答案:

答案 0 :(得分:0)

查看了find_or_create_by

find_or_create_by方法检查具有属性的记录是否存在。如果没有,则调用create。我们来看一个例子。

假设您要查找名为“Andy”的客户端,如果没有,请创建一个。你可以通过运行:

来实现
Client.find_or_create_by(first_name: 'Andy')
# => #<Client id: 1, first_name: "Andy", orders_count: 0, locked: true, created_at: "2011-08-30 06:09:27", updated_at: "2011-08-30 06:09:27">