Import-CSV 将 header 行输出为单个 属性

Import-CSV outputs the header row as a single property

我 运行 遇到了一个非常烦人的问题,涉及尝试使用 Import-CSV 从 csv 文件中获取特定单元格。

就其他答案向我展示的而言,我已按照说明进行操作: 假设我们有一个 csv 文件,其中包含名为 col1、col2、col3、col4 等的列

$importedCSV = Import-CSV csvfile.csv
$importedCSV
col1;col2;col3;col4
-------------------
itm1;itm2;itm3;itm4
itm5;itm6;itm7;itm8

到目前为止,它似乎运行良好,如果我执行 $importedCSV[0]$importedCSV[1],它将像正常情况一样过滤掉相应的 non-selected 行。

当我尝试调用像 $importedCSV[0].col2 这样的特定单元格时出现问题,它根本不会显示任何内容,如果我在点后按 Tab,它会自动完成为 'col1;col2;col3;col4',如果我执行 $importedCSV | Get-Member,它还将 'col1;col2;col3;col4' 显示为单个字符串 属性,我认为这就是无法从 csv 文件中获取特定单元格的原因。

我相信我发现了问题所在,我正在使用西班牙语 Excel 生成我的 CSV,它使用 ; 而不是 , 作为分隔符,分隔符必须在 powershell 命令中手动设置为 ;,如下所示:

Import-Csv -Path .\csvfile.csv -Delimiter ";"

问题解决了。