仅从 csv 文件中删除重复记录

Fid*_*eak 2 powershell powershell-3.0

我试过谷歌搜索不同的东西,但我似乎无法找到答案。

CSV 内容

"ColumnOne","ColumnTwo","ColumnThree"
"C1V1","C2V1","C3V1"
"C1V2","C2V2","C3V2"
"C1V2","C2V2","C3V2"
"C1V3","C2V3","C3V3"
Run Code Online (Sandbox Code Playgroud)

代码

$input = 'C:\Temp\test.csv'
$inputCsv = Import-Csv $input | Select-Object -Unique

$inputCsv | Export-Csv "$input-temp.csv" -NoTypeInformation
#Move-Item "$input-temp.csv" $input -Force
Run Code Online (Sandbox Code Playgroud)

输出

"ColumnOne","ColumnTwo","ColumnThree"
"C1V2","C2V2","C3V2"
Run Code Online (Sandbox Code Playgroud)

预期输出

"ColumnOne","ColumnTwo","ColumnThree"
"C1V1","C2V1","C3V1"
"C1V2","C2V2","C3V2"
"C1V3","C2V3","C3V3"
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Ama*_*rma 5

您需要使用 Select-Object 或 Sort-Object 指定列名以获得唯一结果。如果您也想排序,请尝试以下代码。如果您不想,则使用 Select-Object。

$input = 'C:\Temp\test.csv'
$inputCsv = Import-Csv $input | Sort-Object * -Unique

$inputCsv | Export-Csv "$input-temp.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

您也可以在此处参考博客。