我有一个没有标题的CSV文件,所以我添加标题:
$file = "<path to file>"
$list = Import-Csv $file -Header Unit, IP, Hostname
结果如下:
Unit IP Hostname ---- -- -------- 1234 Camden London 192.168.1.1 Server1
我希望给“Camden London”它自己的标题,同时保持“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)}
答案 0 :(得分: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
答案 1 :(得分:0)
或者您可以重新创建对象:
Import-Csv $file -Header Unit, IP, Hostname | %{
[pscustomobject]@{
Unit=$_.Unit.Substring(0,4)
Town=$_.Unit.Substring(5)
IP=$_.IP
Hostname=$_.Hostname
}
}