2016-04-27 102 views
1

你好我使用以下代碼到合併 CSV文件使用一個公用密鑰將Child.CSV中的一列添加到Parent.CSV使用兩個常用密鑰合併兩個CSV文件

{ 
     Import-Csv "D:\CSV check\Sourcecount.csv" -Header Sourcecount, MONTH_YEAR | ForEach-Object -Begin { 
      $Employees = @{} 
     } -Process { 
      $Employees.Add($_.MONTH_YEAR,$_.Sourcecount) 
     } 

     Import-Csv "D:\CSV check\RenameFinal.csv" | ForEach-Object { 
      $_ | Add-Member -MemberType NoteProperty -Name Sourcecount -Value $Employees."$($_.MONTH_YEAR)" -PassThru 
     } | Export-Csv -NoTypeInformation "D:\CSV check\sourcefinal.csv" 
    } 

問: 能否請您爲場景加入了正從child.csv一個值Parent.csv兩種常見的鍵(通過數據和用戶ID)的幫助。

+2

你能告訴我們一個樣本數據集? –

+0

謝謝Mathias迴應。我嘗試使用添加的代碼並能夠獲得所需的結果。 – Madhuri

+0

太棒了!請發佈您的解決方案*作爲答案*,因此它不會被列爲「未答覆」:) –

回答

0

下面是我用於上面查詢的代碼:

$ F2 =導入-CSV 「d:\ Sourcecount.csv」 -Header Sourcecount,MONTH_YEAR,用戶ID $ F1 =導入-CSV「d:\ Final.csv」 -Header MONTH_YEAR,DestinationCount,用戶名,結果,SourceCount

$f1| 
%{ 
    $Month_YEAR=$_.MONTH_YEAR 
    $UserID=$_.UserID 
    $m=$f2|?{$_.MONTH_YEAR -eq $Month_YEAR}|?{$_.UserID -eq $UserID} 
    $_.SourceCount=$m.Sourcecount 
} 
$f1| Export-Csv "D:\SourceFinal.csv" -NoTypeInformation