Чтение из файла CSV и сохранение каждого значения в строке в переменной - PullRequest
0 голосов
/ 09 октября 2018

У меня есть этот файл CSV.Выглядит так:

ID,Name,Surname,Energy, Sugar
1,Kim,Jansen,4343,45
2,Tim,Brown,5332,42
3,Paul,Redford,2345,36

В моем скрипте есть оператор Read-Host, который запрашивает идентификатор.Как только я получу это - скажем, 2 - я хочу импортировать этот CSV-файл и прочитать строку, где ID = 2, и сохранить имя, фамилию, энергию и сахар в переменных.

Я пытался сForEach-Object и т. Д., Но он печатает все столбцы идентификаторов и сохраняет только последнюю строку.

Как получить значения строки, только если условие if выполнено?

1 Ответ

0 голосов
/ 09 октября 2018

Просто используйте фильтр Where-Object:

$id = Read-Host ...
$row = Import-Csv 'input.csv' | Where-Object { $_.Id -eq $id }

Вы можете хранить поля CSV в отдельных переменных:

$name    = $row.Name
$surname = $row.Surname
$energy  = $row.Energy
$sugar   = $row.Sugar

, но обычно это не требуется и не рекомендуется.Просто используйте свойства вашей объектной переменной ($row в этом примере).

...