PowerShell导入和排序CSV文件

时间:2018-03-17 07:14:21

标签: powershell csv sorting

我正在尝试导入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"%}

这只是非常基本但排序对象不起作用?

导入并打印到屏幕确定

任何建议都会很棒!

由于

1 个答案:

答案 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'}}