Я хочу прочитать в CSV-файл, отфильтровать его на основе значений двух
поля и установите значение другого поля. Вот простой пример
из того, что я пытаюсь достичь:
c: \ somefile.csv содержимое:
firstField,secondField,thirdField
1,2,"somevalue"
2,2,"avalue"
3,1,"somevalue"
#Import file into array
$csv = Import-Csv c:\somefile.csv
# Where secondField = 2 and thirdField = "someValue" set thirdField =
"anotherValue"
$csv | where {$_secondField -eq 2 -and $_.thirdField = "somevalue"} |
<set value of thirdField = "anotherValue">
Как я могу это сделать. Как видно из примера, я могу прочитать
в и фильтровать массив. Но я не знаю, как тогда установить значение
третье поле. Я пробовал set-itemproperty, но получил ошибку:
Методы WriteObject и WriteError не могут быть вызваны после конвейера
был закрыт ".
Редактировать: я также хотел бы изменить только на значение первых 2 возвращенных элементов (строк).
Ответил мной: я использовал Select -first 2.
Буду признателен за любой совет, как этого добиться.
Алан Т