我有一个CSV文件,我想在其中更改标题名称。
当前标头为:name,id
,我想将其更改为company,transit
以下是我在剧本中写的内容:
$a = import-csv .\finalexam\employees.csv -header name,id
foreach ($a in $as[1-$as.count-1]){
# I used 1 here because I want it to ignore the exiting headers.
$_.name -eq company, $_.id -eq transit
}
我认为这不是正确的方法。
答案 0 :(得分:1)
你在想这个...你要做的就是替换标题行,所以将新标题设置为数组的第一项,读取跳过第一行的文件并将其添加到数组中,输出数组。
"Company,Transit"|Set-Content C:\Path\To\NewFile.csv
Get-Content C:\Path\To\Old.csv | Select -skip 1 | Add-Content C:\Path\To\NewFile.csv
答案 1 :(得分:0)
像这样非常简单:
$file = Get-Content C:\temp\data.csv
"new,column,name" | Set-Content C:\temp\data.csv
$file | Select-Object -Skip 1 | Add-Content C:\temp\data.csv
收集完整的文件内容,然后编写新的标题。然后在-skip
原始标题的同时恢复文件内容的其余部分。