【发布时间】:2020-08-13 13:00:24
【问题描述】:
我有几个 CSV 文件,格式如下(不带标题)
file1.csv:
firstname,lastname
andrew,harling
brad,dominic
pete,petey
file2.csv:
firstname,lastname,blood_group
andy,robbins,O+
brad,dominic,AB-
pete,petey,B+
目标:合并这两个文件并带有一些约束:
- 确保输出 csv 中存在所有唯一条目(请参阅下面的示例)
- 如果找到条目(根据 (firstname, lastname) 匹配),则仅从 file2.csv 中获取条目(带有血型)
示例输出.csv:
firstname,lastname,blood_group
andrew,harling
andy,robbins,O+
brad,dominic,AB-
pete,petey,B+
我尝试了以下方法:
-
将 file2.csv 复制到 file2_2col.csv(仅复制前 2 列)
-
现在使用 :
从 file1(在 file2_2col 中找到)中删除重复的内容:comm -23 file1_without_duplicates.csv
-
合并 file1_without_duplicates.csv 和 file2.csv 使用:
猫 *.csv |排序 - u > unique.csv
但这仍然包含重复的内容,例如:
错误的输出.csv:
firstname,lastname,blood_group
brad,dominic
pete,petey
andrew,harling
andy,robbins,O+
brad dominic AB-
pete,petey,B+
有什么建议吗?
【问题讨论】:
-
作为参考,我的文件中没有这些标题;只是为了清楚起见才在这里添加