合并两个CSV - 将CSV添加为另一个列

时间:2016-04-12 13:28:43

标签: csv powershell

我正在尝试将两个csv联合起来。其中一个CSV包含我要添加到另一个的列,但是当导出csv时,添加的列是空白的。

$ csv1

VLAN
1
2
3

$ CSV2

Host
NETMAN
ADMIN
CLIENT

我得到了

VLAN, Host
1,
2,
3,

所需的输出

VLAN, Host
1,NETMAN
2,ADMIN
3,CLIENT

我试过

$csv1 = Import-Csv -Path ".\VLAN.csv"
$csv2 = Import-Csv -Path ".\Hostname.csv"

$csv1 | % {$i=0} { $csv1[$i] | Add-Member -NotePropertyName Hostname -NotePropertyValue $csv2[$i++].Hostname;}

$csv1 | Export-Csv combined.csv -NoType

2 个答案:

答案 0 :(得分:2)

你去:

$csv1 = Import-Csv -Path ".\VLAN.csv"
$csv2 = Import-Csv -Path ".\Hostname.csv"

$arr = @()
#If($csv1.count -eq $csv2.count){
    for($i=0; $i -lt $csv1.Count; $i++){
        $temp = New-Object psobject
        $temp | Add-Member -MemberType NoteProperty -Name VLAN -Value $csv1[$i].Vlan
        $temp | Add-Member -MemberType NoteProperty -Name HOST -Value $csv2[$i].Host
        $arr+=$temp
    }
#}

$arr | Export-Csv combined.csv -NoTypeInformation

答案 1 :(得分:0)

csv1 | Join $csv2

结果

VLAN Host
---- ----
1    NETMAN
2    ADMIN
3    CLIENT