2016-07-20 1 views
1

нужно удалить всю строку в CSV файла, если значение столбца А (т.е. DevID) равна стоимости столбца B (т.е. ProdID)Редактирование CSV файла - Удалить все аналогичные значения строки, основанных на состоянии VIA Powershell

Мой код:

$MergedFile= Import-Csv "C:\Users\d-mansings\Desktop\Mergedata.csv" 

[email protected]{} 
    foreach($line in $MergedFile){ 
    if(Compare-Object $line.DevID $line.ProdID){ 
    echo "Not Matched, Keep the file as it"} 
    else{ echo "Row need to be deleted"} 
     } 

на месте Row need to be deleted мне нужна команда, которая будет удалить всю строку.

Ниже мой CSV файл:

"DevID","ProdID","cfname" 
"-----","-----","------" 
"10201","10202","Risk ID" 
"10202","20202","Issue ID" 
"10203","20203","Dependency ID" 
"10204","20204","Server ID" 
"10205","20205","Parent Application ID" 
"10206","20206","Application Service ID" 
"10207","20207","Application Supportability" 
"10208","20208","Application Compatibility" 
"10300","20300","Application Status" 
"10301","20302","Contact ID Type 2" 
"10302","20302","Contact ID Type 3" 
"10303","20303","Contact ID Type 4" 
"10304","10304","Business Service Manager" 
"10308","20308","Server Location Name:" 

ответ

0

Вы можете использовать Where-Object командлет, чтобы отфильтровать все записи, где DevID не равна ProdID и свирели результат в Export-Csv командлет, чтобы сохранить файл CSV обратно:

Import-Csv 'source.csv' | 
    Where { $_.DevID -ne $_.ProdID } | 
    Export-Csv -Path 'destination.csv' -NoTypeInformation 

Выход:

"DevID","ProdID","cfname" 
"10201","10202","Risk ID" 
"10202","20202","Issue ID" 
"10203","20203","Dependency ID" 
"10204","20204","Server ID" 
"10205","20205","Parent Application ID" 
"10206","20206","Application Service ID" 
"10207","20207","Application Supportability" 
"10208","20208","Application Compatibility" 
"10300","20300","Application Status" 
"10301","20302","Contact ID Type 2" 
"10302","20302","Contact ID Type 3" 
"10303","20303","Contact ID Type 4" 
"10308","20308","Server Location Name:" 
+1

Работал! спасибо :) Я не могу отметить это как ответ в настоящее время, сделаю, как только у меня появится разрешение. – Abhaya

Смежные вопросы