比较2个CSV文件

时间:2018-01-17 06:27:04

标签: powershell csv

我有2个具有相同标题的CSV文件,我需要比较它们并从一个文件中删除重复项。例如

CSV1:

RollNo  Class   Name   School
100      X      Raja    XYZ
101      Y      Krish   XYZ
102      A      Joe     ABC

CSV2:

RollNo  Class   Name   School
200       B     Puja   XYZ
100       X     Raja   XYZ
201       B     Jery   ABC

输出预测如下(仅限CSV1)

RollNo  Class  Name  School
101      Y     Krish   XYZ
102      A     Joe     ABC

有人可以照亮它。 我正在尝试Compare-Object,但它让我很困惑。

Compare-Object $csv1 $csv2 -Property RollNo,Class,Name,School -
    IncludeEqual -ExcludeDifferent |select * -ExcludeProperty 
    SideIndicator | Export-Csv School.csv -NoTypeInfo

1 个答案:

答案 0 :(得分:1)

Compare-Object是绝对可行的。 您错过(或未显示)的是使用Import-Csv之前将csv转换为对象。

$c1 = Import-Csv csv1.csv
$c2 = Import-Csv csv2.csv
Compare-Object $c1 $c2 |?{ $_.SideIndicator -eq '<=' } | select -expand inputobject | Export-Csv csv3.csv -NoTypeInformation