使用两个公共密钥合并两个CSV文件

时间:2016-04-27 07:06:05

标签: csv powershell

您好我使用下面的代码将合并 CSV文件用于一个公共密钥,用于添加Child.CSVParent.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)。

1 个答案:

答案 0 :(得分:0)

以下是我用来解决上述查询的代码:

$f2=Import-Csv "D:\Sourcecount.csv" -Header Sourcecount,MONTH_YEAR,UserID
$f1= Import-csv "D:\Final.csv" -Header MONTH_YEAR,DestinationCount,UserID,Result,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