Powershell создает массив из csv столбца A на основе содержимого столбца B - PullRequest
1 голос
/ 01 мая 2020

У меня есть CSV-файл, который содержит множество столбцов, но релевантны только 2: «электронные письма» и «отслеживание». Столбец «Электронная почта» содержит список адресов электронной почты, а «Followup» содержит «Y» или «N»; У меня есть 1 Y и 7 N. Я работаю со строкой заголовка, а затем с 8 строками данных.

Пока у меня есть этот скрипт:

$File = Import-Csv -Path "C:\file.csv"
$Addresses = @($File.email)
$Followup = @($File.followup)
$To = @($Addresses | Where-Object {$Followup -eq "Y"})

$Addresses
$Followup
$To

Я пытаюсь создать другой массив ($ To) который содержит только те адреса электронной почты, которые связаны с буквой «Y» в колонке «Followup».

Для моего вывода я получаю 8 адресов электронной почты (хорошо), 7 N и 1 Y (хорошо), и Снова 8 адресов электронной почты (плохо, желаемый результат - 1).

Что я тут запутался?

1 Ответ

1 голос
/ 01 мая 2020

Вместо того, чтобы разбивать столбцы email и followup на отдельные массивы, держите их вместе, чтобы Where-Object мог работать со свойством followup и выводить объект с соответствующим email:

$File = Import-Csv -Path "C:\file.csv"

# Filter on the `followup` column
$ShouldFollowup = $File |Where-Object followup -eq 'Y'

# Grab ONLY the value of the `email` column
$Addresses = $ShouldFollowup.email
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...