我需要合并两个csv文件,并在行中使用不同的信息。我知道我可以使用bash中的join命令(来自this answer)做一些事情,但我不知道如何将它应用于我的数据。用连接命令合并两个csv
因此,这里有两个CSV的例子:
CSV1:
Andre-Morange.trs;André Morange;2;no;M;58;yes;IDF;
Andre-Morange.trs;Sara enq;1;yes;F;63;yes;IDF/Nice;SARA
Anita Musso trs.trs;Anita Musso;1;no;F;46;yes;?;
Anita Musso trs.trs;Sarah enq;2;yes;F;63;yes;IDF/Nice;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine Ceret.trs;Blanche;4;no;F;25;yes;IDF;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine Ceret.trs;Jean-Pierre;2;no;M;60;yes;IDF;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine Ceret.trs;Reine;3;no;F;60;yes;IDF;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine Ceret.trs;Sarah enq;1;yes;F;63;yes;IDF/Nice;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Christophe;3;no;M;61;yes;IDF;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Dame + enqSarah;;;;;;;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Dame + homme;4;;;;;;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;enqSarah;1;yes;F;63;yes;IDF/Nice;SARA
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Marie-Anne;2;no;F;62;yes;IDF;
CSV2:
Andre-Morange.trs;André Morange;2;
Andre-Morange.trs;Nasser;3;
Andre-Morange.trs;Sara enq;1;
Andre-Morange.trs;speaker#4;4;
Anita_Musso_trs.trs;Anita Musso;1;
Anita_Musso_trs.trs;Sarah enq;2;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine_Ceret.trs;Blanche;4;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine_Ceret.trs;Jean-Pierre;2;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine_Ceret.trs;Reine;3;
Blanche_Duchemin_Jean_Pierre_Duchemin_Reine_Ceret.trs;Sarah enq;1;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Christophe;3;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;dame + enqSarah;5;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;dame + homme;4;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;enqSarah;1;
Christophe_Andre_H_62_Marie_Anne_Andre_F_63_5e.trs;Marie-Anne;2;
这只是两个CSV的一个分部。重要的是,第一个CSV的列数多于第二个(CSV1有965行和8列,而CSV2有1496行和3列)。但CSV2中的某些行不在CSV1中。我想合并这两个文件,最后,我添加了CSV2中的所有行,除了已经存在于CSV1中的行之外。
我希望我的问题不是太混乱,我一直在寻找一种方法来做到这一点几个小时,我自己感到困惑!
到'join'基于file1和file2..right的第1列? – ritesht93
如果我不清楚,我很抱歉。我希望输出与CSV1中的所有行一样,CSV2中包含的所有行除外,因为CSV1中的CSV2行已经存在(具有相同的前三列),因为如果它们位于CSV1中,则它们具有更多列,因此我想保留信息。 –
如果你可以看看:[我应该怎么做当有人回答我的问题?] – Cyrus