使用Power Shell使用另一个csv更新csv中的缺少单元格值

时间:2015-07-06 14:03:07

标签: powershell powershell-v3.0

我想比较两个相同列名的csv文件,并且必须用另一个csv文件更新空列值。

  

CSV-1:

     

名称,电子邮件,PHONENO

     

x,x @ y.com,0854

     

Y,Y @ x.com,

     

CSV2

     

名称,电子邮件,PHONENO

     

X,X @ y.com,0854

     

Y,Y @ x.com,980

我想比较2个csv并从csv 2更新csv1中缺少的列

1 个答案:

答案 0 :(得分:0)

如果您的电子邮件数据在两个csv中都相同,并且您想要更新电话字段,则可以使用此字段:

$csv1 = import-csv C:\temp\csv1.csv
$csv2 = import-csv C:\temp\csv2.csv

foreach ($Item in $csv1)
{
$Name = $item.name ## you can add if needed
$Email = $item.email
$phone = $item.phoneno

$csv2item = $csv2 | ? {$_.email -eq $Email}
if ($phone -eq $null -or $phone -eq "")
{$Item.PhoneNo = $csv2item.PhoneNo}
}

$csv1 | Export-Csv "c:\temp\newcsv1.csv"

但如果电子邮件不相同,您可以将此{$_.email -eq $Email}更改为其他相同的项目,例如姓名等......

您可以将此作为解决方法并根据需要进行更改...

相关问题