Powershell csv при пустой ячейке - удалить строку - PullRequest
0 голосов
/ 09 мая 2020

У меня есть CSV-файл с 8 столбцами. Если столбцы 5, 6, 7 или 8 пусты, необходимо удалить всю строку.

col1,col2,col3,col4,col5,col6,col7,col8
cont,cont,cont,cont,cont,cont,cont,cont
cont,cont,cont,cont,,cont,cont,cont     --> delete row
cont,cont,cont,cont,cont,cont,,cont     --> delete row
cont,cont,cont,cont,cont,cont,cont,cont

Как я могу решить эту проблему с помощью Powershell?

Заранее спасибо.

1 Ответ

0 голосов
/ 09 мая 2020

Вы захотите сделать что-то вроде этого:

foreach ($line in Get-Content .\myfile.txt) {
   $linearray = $line.split(",");
   if($linearray[4] && $linearray[5] && $linearray[6] & $linearray[7]) {
      Add-Content .\myTempfile.txt $line
   }
}
Out-File .\myfile.txt .\myTempFile.txt
Remove-Item .\myTempFile.txt
...