gpt4 book ai didi

powershell - 从CSV中删除除Sort-Object -unique之外的重复项的另一种方法?

转载 作者:行者123 更新时间:2023-12-03 01:02:01 25 4
gpt4 key购买 nike

我有一个无法克服的错误。当我运行脚本时,到达此代码段是错误地删除了唯一值:

import-csv "$LocalPath\A1-$abbrMonth$Year.csv" | 
where {$_."CustomerName" -match $Customersregex} |
select "SubmitterID","SubmitterName","JobDate","JobTime",@{Name="Form";Expression={if ($_.FormName -match "Copy"){"C"};if ($_.FormName -match "Letter"){"L"} else {""} }},"TotalDocs",@{Name="AddnPages";Expression={$_.TotalAdditionalPages}},"InputFilename",@{Name="ActualDocs";Expression={[string]([int]$_.RegularDocs + [int]$_.UnqualifiedDocs)}}|
sort "InputFilename" -Unique |
export-csv "$LocalPath\A2-$abbrMonth$Year.csv" -NoTypeInformation

它发生在“sort“InputFilename” -Unique“行中,但是当我将其剪切并逐行执行时,它将正常工作,但不是在原始脚本中。

还有其他方法可以根据列的值删除重复项吗?我尝试在Select-Object语句上使用“-unique”参数,但是找不到将其限制为仅一列的方法。

编辑:为了澄清我遇到的问题,我有一个大的会计数据列表。我正在尝试使用“Sort -unique”删除重复的条目。在上面的代码运行之后,缺少的条目不应该是因为它们是唯一的。我可以将它们隔离在自己的CSV中,运行上面的代码,并且应该存在的所有条目都存在,但是,当我通过上面的代码(仅该代码,没有其他内容)运行我的主CSV文件并搜索这些条目时,失踪。
编辑2:看起来好像是数据文件有问题。真是的

最佳答案

您可以始终对事物进行分组,然后展开分组中的第一项。速度不快,但是可以满足您的工作需求。

import-csv "$LocalPath\A1-$abbrMonth$Year.csv" | 
where {$_."CustomerName" -match $Customersregex} |
group InputFilename |
% { $_.Group[0] } |
select "SubmitterID","SubmitterName","JobDate","JobTime",@{Name="Form";Expression={if ($_.FormName -match "Copy"){"C"};if ($_.FormName -match "Letter"){"L"} else {""} }},"TotalDocs",@{Name="AddnPages";Expression={$_.TotalAdditionalPages}},"InputFilename",@{Name="ActualDocs";Expression={[string]([int]$_.RegularDocs + [int]$_.UnqualifiedDocs)}}|
sort "InputFilename" |
export-csv "$LocalPath\A2-$abbrMonth$Year.csv" -NoTypeInformation

关于powershell - 从CSV中删除除Sort-Object -unique之外的重复项的另一种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951765/

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