0

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

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 
4

1 回答 1

1
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

官方文档中更复杂的示例使用哈希表按升序和降序对属性进行排序

于 2020-08-06T15:41:41.953 回答