Select-Object -ExcludeProperty на основе значения свойства - PullRequest
0 голосов
/ 28 марта 2019

У меня есть объект, который имеет большое количество свойств.Я хочу вернуть некоторые из этих свойств, имена которых не всегда могут быть согласованными.Я хочу ИСКЛЮЧИТЬ свойства, которые имеют или содержат определенное значение.

$notneeded = @('array of properties that I do not wish to select')
$csvPath = "$Log\$Summary"
$csvData = Get-Content -Path $csvPath | Select-Object -Skip 1 | Out-String | ConvertFrom-Csv #the first line is extra (not a header), needs skipped
$csvData | Select-Object -Property * -ExcludeProperty $notneeded

Если список исключаемых свойств был статическим, то я мог бы использовать это.Но я хочу исключить свойства из вида, которые содержат определенное значение.

1 Ответ

0 голосов
/ 29 марта 2019

ВХОД CSV

John,Doe,120 jefferson st.,Riverside, NJ, 08075
Jack,McGinnis,220 hobo Av.,Phila, PA,09119
"John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075
Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234
,Blankman,,SomeTown, SD, 00298
"Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123

SCRIPT

$csvData = Invoke-WebRequest -Uri "https://people.sc.fsu.edu/~jburkardt/data/csv/addresses.csv" | ConvertFrom-Csv -Header  "Name", "Surname", "Address", "City", "State", "Zip"
$particularValue = "*120*"
$notneeded = @()
$csvData | Foreach-Object { $notneeded += $_.PSObject.Properties | Where-Object Value -like $particularValue | Select-Object Name }
$notneeded = $notneeded | Select-Object -Unique -ExpandProperty Name
$csvData | Select-Object * -ExcludeProperty $notneeded | Format-Table

Примечание. Например, Я хочу исключить столбец, где упоминается 120. Также я назвал столбцы в моем скрипте

ВЫХОД (См. Адресная колонка отсутствует)

Name                  Surname  City        State Zip  
----                  -------  ----        ----- ---  
John                  Doe      Riverside   NJ    08075
Jack                  McGinnis Phila       PA    09119
John "Da Man"         Repici   Riverside   NJ    08075
Stephen               Tyler    SomeTown    SD    91234
                      Blankman SomeTown    SD    00298
Joan "the bone", Anne Jet      Desert City CO    00123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...