我正在尝试导入CSV文件,然后按列排序。似乎无法使其发挥作用。
$csvPath = 'path/to/usage_new.csv'
$usage = Get-Content -Path $csvPath | Select-Object -Skip 2 | Sort-Object "Percentage Used" | Out-String | ConvertFrom-Csv
foreach ($usage1 in $usage) {Write-Host Number $usage1.Phone used $usage1."Percentage Used"%}
这只是非常基本但排序对象不起作用?
导入并打印到屏幕确定
任何建议都会很棒!
由于
答案 0 :(得分:1)
Get-Content将文本行读入字符串,字符串没有名为“Percentage Used”的属性,它们只有一个Length。
您需要在进行排序之前从CSV 转换,因此传入的数据具有根据列标题构建的“使用百分比”属性:
Import-Csv -Path $csvPath |
Select-Object -Skip 2 |
Sort-Object -Property 'Percentage Used' |
Select-Object Phone, @{Name='Used'; Expression={"{0}%" -f $_.'Percentage Used'}}