使用另一个 csv 从 csv 中删除相似的字符串
Removing similar strings from csv using another csv
我需要根据电子邮件地址从一个 csv(文件-a)中删除与另一个 csv(文件-b)中的字符串匹配或部分匹配的字符串:
文件-a
email,Firstname,Lastname
Peter@hotmail.com,pete,Smith
Paul@gmail.com,paul,
Mary@hotmail.com,,Jones
puff@yahoo.com,puff,Dragon
文件-b
email,Firstname,Lastname
Peter@hotmail.com,,Smith
Mary@hotmail.com,Mary
去重输出文件
email,Firstname,Lastname
Paul@gmail.com,paul,
puff@yahoo.com,puff,Dragon
我在这里遇到了类似的问题:
但是,这只适用于完全匹配,我尝试使用 "notmatch" 而不是 "notcontains" 但这没有用。我是 powershell 的新手,我不太清楚我需要做什么。任何帮助将不胜感激。
我首先 Import-Csv
文件并使用 Compare-Object
限于 属性 email
## Q:\Test19\SO_54929339.ps1
$fileA = Import-csv '.\file-a.csv'
$fileB = Import-csv '.\file-b.csv'
$deduped = Compare-Object -Ref $fileA -Diff $fileB -Property email -PassThru |
Where-Object Sideindicator -eq '<=' |
Select-Object * -ExcludeProperty Sideindicator
$deduped
$deduped | Export-Csv '.\deduped-output-file.csv' -NoTypeInformation
示例输出:
> Q:\Test19\SO_54929339.ps1
email Firstname Lastname
----- --------- ---------
Paul@gmail.com paul
puff@yahoo.com puff Dragon
我需要根据电子邮件地址从一个 csv(文件-a)中删除与另一个 csv(文件-b)中的字符串匹配或部分匹配的字符串:
文件-a
email,Firstname,Lastname
Peter@hotmail.com,pete,Smith
Paul@gmail.com,paul,
Mary@hotmail.com,,Jones
puff@yahoo.com,puff,Dragon
文件-b
email,Firstname,Lastname
Peter@hotmail.com,,Smith
Mary@hotmail.com,Mary
去重输出文件
email,Firstname,Lastname
Paul@gmail.com,paul,
puff@yahoo.com,puff,Dragon
我在这里遇到了类似的问题:
但是,这只适用于完全匹配,我尝试使用 "notmatch" 而不是 "notcontains" 但这没有用。我是 powershell 的新手,我不太清楚我需要做什么。任何帮助将不胜感激。
我首先 Import-Csv
文件并使用 Compare-Object
限于 属性 email
## Q:\Test19\SO_54929339.ps1
$fileA = Import-csv '.\file-a.csv'
$fileB = Import-csv '.\file-b.csv'
$deduped = Compare-Object -Ref $fileA -Diff $fileB -Property email -PassThru |
Where-Object Sideindicator -eq '<=' |
Select-Object * -ExcludeProperty Sideindicator
$deduped
$deduped | Export-Csv '.\deduped-output-file.csv' -NoTypeInformation
示例输出:
> Q:\Test19\SO_54929339.ps1
email Firstname Lastname
----- --------- ---------
Paul@gmail.com paul
puff@yahoo.com puff Dragon