【发布时间】:2021-08-13 13:47:23
【问题描述】:
我已经搜索但没有找到合理的解决方案。 在 csv 文件中,有很多列,但在第一列中我需要保持唯一匹配并删除重复项,但同时保持原始顺序...
数据示例:
| Column1 | Column2 |
|---|---|
| A | Data1 |
| A | Data2 |
| A | Data3 |
| B | Data4 |
| B | Data5 |
| C | Data6 |
| C | Data7 |
| E | Data8 |
| E | Data 9 |
| E | Data10 |
| E | Data11 |
期望:
| Column1 | Column2 |
|---|---|
| A | Data1 |
| Data2 | |
| Data3 | |
| B | Data4 |
| Data5 | |
| C | Data6 |
| Data7 | |
| E | Data8 |
| Data 9 | |
| Data10 | |
| Data11 |
到目前为止,我可以从控制台漂亮列表中看到,但还没有找到一种方法如何只显示第一个唯一值。
Import-Csv 'C:\Data\smt.csv' -Delimiter ';' | Group-Object -Property Column1 | Where-Object { $_.count -ge 1 } -> 我可以看到我有多少重复..
如果我添加| Foreach-Object { $_.Group } ,那么它会显示不错的列表,但如果我尝试删除它,它会打乱原来的顺序。
也许有人可以告诉我如何处理它,或者我应该使用其他工具,而不是 Powershell。
真诚的
【问题讨论】:
-
为了将来参考,在提出相关问题时,最好按原样显示数据(在本例中为纯文本 csv)而不是 html 表格。
标签: powershell