2017-09-25 38 views
0

我有沒有標題的CSV文件,所以我添加頁眉:Substring一個CSV標題來創建一個新的頭

$file = "<path to file>" 
$list = Import-Csv $file -Header Unit, IP, Hostname 

結果是這樣的:

 
Unit    IP   Hostname 
----    --   -------- 
1234 Camden London 192.168.1.1 Server1 

我希望給「卡姆登倫敦」它自己的標題,同時保持「單位」欄的「1234」。

 
Unit Town   IP   Hostname 
---- ----   --   -------- 
1234 Camden London 192.168.1.1 Server1 

我可以將它們放在各自的列表中,但是不知道在哪裏在做這個內嵌Import-Csv開始 - 任何人都可以幫助嗎?

$Unit = $list | Select {$_.Unit.Substring(0,4)} 
$Town = $list | Select {$_.Unit.Substring(5)} 

回答

2

使用calculated properties創建拆分領域和排除原始Unit領域:

Import-Csv $file -Header Unit, IP, Hostname | 
    Select-Object -Property @{n='Unit';e={$_.Unit.Substring(0,4)}}, 
     @{n='Town';e={$_.Unit.Substring(5)}}, * -Exclude Unit 
+0

非常感謝您! – JDGEEK

0

或者你也可以重新創建對象:

Import-Csv $file -Header Unit, IP, Hostname | %{ 
[pscustomobject]@{ 
    Unit=$_.Unit.Substring(0,4) 
    Town=$_.Unit.Substring(5) 
    IP=$_.IP 
    Hostname=$_.Hostname 
} 

}