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.csvSupongamos 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 -descendingLa 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.csvSupongamos 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 } -descendingLa 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.




