【发布时间】:2019-03-01 20:22:38
【问题描述】:
我有一个无法解决的错误。当我运行我的脚本获取这段代码时,它错误地删除了唯一值:
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
它发生在“排序“InputFilename”-Unique”行期间,但是当我将其剪切并逐行执行时它会正常工作,但不是在原始脚本中。
有没有其他方法可以根据列的值删除重复项?我尝试在 Select-Object 语句中使用“-unique”参数,但找不到将其限制为仅一列的方法。
编辑:为了澄清我遇到的问题,我有一个大的会计数据列表。我正在尝试使用“Sort -unique”删除重复的条目。在上面的代码运行之后,有一些不应该的条目丢失了,因为它们是唯一的。我可以将它们隔离在自己的 CSV 中,运行上面的代码并且所有条目都应该存在,但是当我通过上面的代码运行我的主 CSV 文件时(只有那个代码,没有别的)并搜索它们是失踪。 编辑 2: 看起来这是数据文件的问题。好伤心。
【问题讨论】:
标签: powershell