使用两个公用键合并两个CSV文件
您好,我使用下面的代码合并CSV文件,使用一个公用键将一列从使用两个公用键合并两个CSV文件,csv,powershell,Csv,Powershell,您好,我使用下面的代码合并CSV文件,使用一个公用键将一列从Child.CSV添加到Parent.CSV { Import-Csv "D:\CSV check\Sourcecount.csv" -Header Sourcecount, MONTH_YEAR | ForEach-Object -Begin { $Employees = @{} } -Process { $Employees.Add($_.MON
Child.CSV
添加到Parent.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"
}
问题:
您能否帮助实现将两个常用键(按数据和用户ID)的一列值从child.csv获取到Parent.csv的场景连接。下面是我用于解决上述查询的代码:
$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
下面是我用来解决上述查询的代码:
$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
你能给我们看一个样本数据集吗?谢谢Mathias的回复。我尝试使用添加的代码,并能够得到所需的结果。太棒了!请将您的解决方案作为答案发布,这样它就不会被列为“未回答”:)请单击下面的“添加答案”按钮分别添加您的答案。不要在问题本身中添加答案。你能给我们看一个样本数据集吗?谢谢Mathias的回答。我尝试使用添加的代码,并能够得到所需的结果。太棒了!请将您的解决方案作为答案发布,这样它就不会被列为“未回答”:)请单击下面的“添加答案”按钮分别添加您的答案。不要在问题本身中添加答案。