调用 csv 文件的 ForEach-Object 属性 从无白色 space 变为有白色 space

ForEach-Object calling property of csv file changing from no white space to having whitespace

由于最近的更改,这几乎是此的延续 -

我有以下代码:

Import-CSV "C:\path\test.csv" | ForEach-Object{
    $_.column1 = ($_.column1).TrimStart('0')
    $_
} | Export-Csv "C:\path\test2.csv" -NoTypeInformation
Move-Item "C:\path\test2.csv" "C:\path\test.csv" -Force

尝试以下代码后:

Import-CSV "C:\path\test.csv" | ForEach-Object{
    $_.column 1 = ($_.column 1).TrimStart('0')
    $_
} | Export-Csv "C:\path\test2.csv" -NoTypeInformation
Move-Item "C:\path\test2.csv" "C:\path\test.csv" -Force

现在,csv 文件中的 column1 已更改为 column 1(现在有一个空格)。

我得到一个编译语法错误:

Unexpected token 'One' in expression or statement.
At :line:2 char:19
+       $_.Column One  <<<< = ($_.Column One).TrimStart('0')

如有任何帮助,我们将不胜感激...

答案是在这个网站上找到的: http://itknowledgeexchange.techtarget.com/powershell/csv-fields-with-spaces-in-the-field-name/

Import-CSV "C:\path\test.csv" | ForEach-Object{
    $_.'column 1' = ($_.'column 1').TrimStart('0')
    $_
} | Export-Csv "C:\path\test2.csv" -NoTypeInformation
Move-Item "C:\path\test2.csv" "C:\path\test.csv" -Force