【问题标题】:Powershell Import-CSV wont sortPowershell Import-CSV 不会排序
【发布时间】:2020-08-06 15:20:20
【问题描述】:

在 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 

【问题讨论】:

    标签: powershell csv sorting sort-object


    【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 2012-06-22
      • 1970-01-01
      • 2014-09-27
      相关资源
      最近更新 更多