gpt4 book ai didi

powershell - 如何在 PowerShell 中使用 import-csv 指定列位置

转载 作者:行者123 更新时间:2023-12-05 09:06:30 25 4
gpt4 key购买 nike

因为我有很多 csv 文件并且想要对 csv 文件的第一列进行排序,在这种情况下,每个文件的第一列名称可能不同。因此如何指定列位置来对许多不同的文件进行排序。这是我试过并正在寻找的脚本,就像这段代码一样。($_.1)

$InputFilePath = "C\test.csv"
$OutputFolderPath ="C:\output.csv"
$UniqueValue = Import-Csv $InputFilePath | Sort-Object -Property $_.1 | Export-Csv -Encoding Default -NoTypeInformation $OutputFolderPath

最佳答案

两种方式:

在每个项目上针对 psobject 进行反射

Import-Csv $InputFilePath |Sort-Object -Property { $_.psobject.Properties.Value[0] }

在这里,我们引用每个对象上隐藏的 psobject 成员集来“发现”它的属性,并解析第一个对象的值。

从第一行提取

$data = Import-Csv $InputFilePath
$sortKey = $data[0].psobject.Properties.Name[0]

$data |Sort-Object -Property $sortKey

这里我们首先将所有数据加载到一个变量中,然后找出集合中第一个对象的第一个属性名,然后使用该属性名传递给Sort-Object

您可能会发现这种方法对于中型文件(数千行)的性能稍好,但可能会随着文件大小的增加分配更多内存。

针对您的数据集测试每个,看看哪个最有效:-)

关于powershell - 如何在 PowerShell 中使用 import-csv 指定列位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65992990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com