比较2个Csv列之间的对象

时间:2015-09-21 15:07:35

标签: powershell

我尝试了这种语法

$Csv1 = Import-Csv -Header C1,C2 -delimiter ";" csv1.csv
$Csv2 = Import-Csv -Header C1,C2 -delimiter ";" csv2.csv
Compare-Object $Csv1.C2 $Csv2.C2

我得到一个例外:

ParameterBindingValidationException

我不想要使用import-csv导入的csv所需的基本数组的语法。

在Csv1文件中,我有一个字符串列表,如:

Max Rate;Max_Rate
Min Rate;Min_Rate

在Csv2文件中,我有一个字符串列表,如:

Max Rate;Max_Rate
Min Rate;Min_Rate
Average Rate;Average_Rate

1 个答案:

答案 0 :(得分:1)

使用您发布的代码和CSV文件的内容,您的结果应为:

InputObject                                                               SideIndicator                                                            
-----------                                                               -------------                                                            
Min_Rate                                                                  =>                                                                       
Average_Rate                                                              =>                                                                       
Max_Rate                                                                  <=                                        

您发布的代码没有任何问题导致您获得的结果,因此我假设您遇到的问题未在您的问题中列出。

我唯一能想到的是你如何查看/编辑这些csv文件?我会尝试只输入$Csv1$Csv2,以便在尝试比较之前看到输出就在那里。

您不会获得输出的唯一原因是您要比较的两个对象实际上是否相同。 Compare-Object返回不同的对象。否则,此cmdlet不会生成任何输出。