Powershell accede a un único valor en una tabla


3

Esto debería ser realmente fácil, pero parece que no puedo encontrar una manera fácil.

Por ejemplo, en Powershell y estoy usando un archivo CSV, que luego se usa para buscar algunos datos de configuración basados ​​en una ID. Esto es lo que tengo ahora, funciona, pero tiene que haber una mejor manera.

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

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

Si uso format-table, etc., siempre obtengo el encabezado de columna, que luego tendría que cortar.

Nuevamente, esto tiene que ser realmente fácil y esto no es un obstáculo para el espectáculo. Pero tiene que haber una mejor manera de obtener solo los datos de una tabla sin el encabezado de columna.

Respuestas:


3

No estoy seguro de si esto ayuda, pero puede cargar el archivo csv en una matriz y luego usar índices para acceder a las filas individuales y para cada fila puede usar el nombre de la columna para acceder a la celda individual.

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

Simplemente cambie 'ColA' por el nombre de su columna y recuerde que las filas están indexadas en 0.


1

Sé de dos maneras.

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

$ configList | donde {$ _. id -eq $ id} | seleccione -ExpandProperty configData

(En cuanto al estilo, aunque evito alias en los guiones para mayor claridad, estoy bien con where, foreachy select, como no creo que -Objectaporte nada.)


-1
| Format-Table -HideTableHeaders

Esa es la forma más fácil.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.