3

это должно быть действительно легко, но я не могу найти легкий путь.

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

$configList = import-csv "C:\myconfig.csv"
$id = "5001"

$configList | where-object {$_.id -eq $id} | foreach-object{ $configData = $_.configData}

Если использовать format-table и т.д., Я всегда получаю заголовок столбца, который мне потом придется обрезать.

Опять же, это должно быть действительно легко, и это не остановка шоу. Но должен быть лучший способ получить только данные из таблицы без заголовка столбца.

2 ответа2

3

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

$a = @(Import-CSV C:\myconfig.csv)
$a[0].ColA

Просто измените «ColA» на имя вашего столбца и помните, что строки проиндексированы на 0.

1

Я знаю два пути.

$configList | where {$_.id -eq $id} | foreach { $_.configData }

$configList | where {$_.id -eq $id} | select -ExpandProperty configData

(В отношении стиля, хотя я избегаю псевдонимов в сценариях для ясности, я в порядке с where , foreach и select , так как я не думаю, что -Object что- то добавляет.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .