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