Powershell Import-CSV не сортирует

В 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 

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

Более сложные примеры в официальной документации. Используйте хэш-таблицу для сортировки свойств в порядке возрастания и убывания.

Другие вопросы по тегам