如何在Power Shell中使用LINQ查询对csv文件的第二列进行排序

栗木

例如,我的列表($ dataList)具有以下值注意:每个文件的标题可能不同。我想传递列的位置而不是列名。

$dataList = new-object System.Collections.Generic.List[string]
CSV file example below

Code,name,gender 
1,BB,M
2,CC,M
3,DD,F



  $sortedValues = [Linq.Enumerable]::OrderBy($dataList, [Func[string,string]] { $args[0]})
Mathias R. Jessen

最简单的方法是使用Import-Csv/解析数据ConvertFrom-Csv,然后从第一条记录中获取列名:

$data = Import-Csv .\path\to.csv
$list = [System.Collections.Generic.List[psobject]]::new([psobject[]]$data)

$columnName = @($data[0].psobject.Properties)[1].Name

$sorted = [System.Linq.Enumerable]::OrderBy($list, [Func[psobject,string]]{ $args[0].$columnName })

如果文件很大,并且您希望避免使用*-CSV命令解析输入数据的开销,那么您只需跳过标题行:

$list = [System.Collections.Generic.List[string]]::new()
$header = Get-Content .\path\to.csv |Select -First 1
Get-Content .\path\to.csv |Select -Skip 1 |ForEach-Object {
    $list.Add($_)
}

# Remember to write header manually back to result file
$header |Set-Content .\path\to\result.csv

[System.Linq.Enumerable]::OrderBy($list, [Func[string,string]]{ $args[0].Split(',')[1] }) |Add-Content .\path\to\result.csv

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在pentaho中使用csv输入固定列对列进行重新排序

如果在查询中使用order by,如何在MySQL中对索引列进行排序?

Power BI:如何在Power Query Editor中将Python与多个表一起使用?

如果第一列显示相等的值,如何使用第二列进行排序

如何在Power BI中拆分JSON列

如何在外壳脚本中按字母顺序对第二列进行排序,然后按数字排序?

如何在我的LINQ查询中包含第二个表中的列

如何在Power BI中使GIF图像生效?

如何在Excel 2016中使用Power Query创建的合并表中添加列?

如何在Power Shell中编写嵌套循环

如何在REPL中使用:phase power命令?

如何在Power Bi中按矩阵的降序对列日期进行排序

如何在Azure Power Shell Run Book中访问本地文件路径

如何在Power Shell中遵循Windows快捷方式?

如何在文件中每4行对第一列进行排序,并在第二列中使用键

如何使用PHP读取csv文件中的第二列?

如何使用awk从我的CSV文件中提取第二列和第三列?

Power Shell +如何在分隔符到变量之前捕获文件中的名称

如何在C#中使用linq查询对循环顺序进行排序?

如何在特定目录中按文件扩展名查找文件并使用Power Shell进行遍历?

如何使用java中的某些列对CSV文件进行排序

如何使用 Sed 或 Perl 根据字符串的第二列数以降序方式对给定的文本文件进行排序

如何在laravel中使用列排序进行列排序

如何在 Power Query / Power BI 的列中插入缺失值?

如何在 Power BI 中使用 DAX 进行划分?

如何在 Power Query 中对 N 列求和

如何在 Power BI 中使用多个 AND 运算?

如何在 Power Apps 库中启用按列排序、搜索和过滤

使用 urllib 时如何使用 CSV 文件中的第二列命名图像文件?