PowerShell中的CSV文件头更改

时间:2015-04-10 19:58:10

标签: powershell csv

我有一个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
}

我认为这不是正确的方法。

2 个答案:

答案 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原始标题的同时恢复文件内容的其余部分。