Búsqueda de sitios web

PowerShell: cómo ordenar por columna específica


A menudo, es posible que desee importar archivos de datos a PowerShell y luego ordenar las filas según una columna específica.

Puede utilizar los siguientes métodos para hacerlo:

Método 1: ordenar por columna de cadena

Import-Csv $my_file | Sort-Object team

Este ejemplo en particular importa el archivo especificado en la ruta del objeto $my_file y luego ordena las filas en orden ascendente (A a Z) según los valores de la columna team .

Nota: De forma predeterminada, el cmdlet Sort-Object ordena los valores en orden ascendente. Para ordenar por valores en orden descendente, simplemente agregue el operador -descendente al final de la línea.

Método 2: ordenar por columna numérica

Import-Csv $my_file | Sort-Object { [double]$_.points }

Este ejemplo en particular importa el archivo especificado en la ruta del objeto $my_file y luego ordena las filas en orden ascendente (de menor a mayor) según los valores de la columna puntos. .

Tenga en cuenta que utilizamos [double] para convertir la columna puntos a un tipo de datos numérico doble antes de ordenar.

Los siguientes ejemplos muestran cómo utilizar cada método en la práctica.

Ejemplo 1: Cómo ordenar por columna de cadena en PowerShell

Supongamos que tenemos un archivo CSV guardado en la siguiente ubicación:

c:\users\bobbi\nba_data.csv

Supongamos que utilizamos el cmdlet Import-Csv para ver el contenido de este archivo completo:

El archivo contiene tres columnas que muestran el equipo, los puntos y las asistencias de varios jugadores de baloncesto.

Supongamos que queremos ordenar las filas por las cadenas en la columna equipo.

Podemos utilizar la siguiente sintaxis para hacerlo:

Import-Csv $my_file | Sort-Object team

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que las filas ahora están ordenadas de la A a la Z según las cadenas de la columna team.

Si, en cambio, desea ordenar de Z a A, simplemente agregue el operador -descendente al final de la línea:

Import-Csv $my_file | Sort-Object team -descending

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que las filas ahora están ordenadas de Z a A según las cadenas de la columna equipo.

Ejemplo 2: Cómo ordenar por columna numérica en PowerShell

Una vez más supongamos que tenemos un archivo CSV guardado en la siguiente ubicación:

c:\users\bobbi\nba_data.csv

Supongamos que utilizamos el cmdlet Import-Csv para ver el contenido de este archivo completo:

Supongamos que queremos ordenar las filas por los valores numéricos en la columna puntos .

Podemos utilizar la siguiente sintaxis para hacerlo:

Import-Csv $my_file | Sort-Object { [double]$_.points }

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que las filas están ordenadas en orden ascendente (de menor a mayor) según el valor de la columna puntos.

Para ordenar las filas por los valores de la columna puntos en orden descendente (de mayor a menor), simplemente agregue el operador -descending:

Import-Csv $my_file | Sort-Object { [double]$_.points } -descending

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que las filas ahora están ordenadas en orden descendente (de mayor a menor) según el valor de la columna puntos.

Artículos relacionados