Powershell Import-CSV 不会排序

Powershell Import-CSV wont sort

在 Powershell 中,我正在尝试导入 CSV 文件并根据其 header 名称对其进行排序,然后将其通过管道传输至 format-table。但是我已经尝试了各种方法让它正确排序但似乎无法弄清楚,有什么想法吗?

CSV:

Price,OnHands,Status 
43.73,6,INACTIVE
33,36,CLEARANCE
9.62,3,CLEARANCE
57.8,22,ACTIVE
69.57,16,ACTIVE
22,15,CLEARANCE

又名

Price  OnHands Status
------ ------- ------
43.73  6       INACTIVE  
33.0   36      CLEARANCE 
9.62   3       CLEARANCE 
57.8   22      ACTIVE    
69.57  16      ACTIVE    
22.0   15      CLEARANCE 

我试过下面的行,有单引号、双引号和无引号,并且是整数。

$data = Import-Csv -Path $PathnNameCSV | Sort-Object -Property 'OnHands' -Descending

也尝试过只使用排序,也许我的语法错误或某处的组合错误。

$data = Import-Csv -Path $PathnNameCSV | sort -Property 'OnHands' -Descending

我的预期结果是:

Price  OnHands Status
------ ------- ------
33.0   36      CLEARANCE 
57.8   22      ACTIVE    
69.57  16      ACTIVE 
22.0   15      CLEARANCE 
43.73  6       INACTIVE 
9.62   3       CLEARANCE 
Import-Csv -Path $PathnNameCSV |
    Sort-Object -Property { [int]$_.OnHands } -Descending
Price OnHands Status   
----- ------- -------  
33    36      CLEARANCE
57.8  22      ACTIVE   
69.57 16      ACTIVE   
22    15      CLEARANCE
43.73 6       INACTIVE 
9.62  3       CLEARANCE

官方文档中有更复杂的例子Use a hash table to sort properties in ascending and descending order