Экспорт файла журнала в новый файл CSV в Powershell

#powershell #import-csv

#powershell #импорт-csv

Вопрос:

Я чувствую, что иду по этому пути неправильно, но я уже прошел половину пути… У меня есть файл журнала с именем DataSet.log, который отформатирован как:

 First Dataset;24226382;2020-10-01 00:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;2;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24421469;2020-10-01 01:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;4;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667838;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;6;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667839;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;1;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
  

Я пытаюсь преобразовать это в новый файл CSV и заставить его отображать только третий и седьмой столбцы. Я получил его для правильного отображения в PowerShell с:

 Import-Csv .DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Format-Table C,G
  

Я пытался экспортировать его как:

 $testPush = Import-Csv .DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Format-Table C,G

$testPush | Out-File .test.csv
  

И он создает новый файл CSV, но он отображает только третий столбец с заголовком «C G.» Кроме того, этот заголовок находится в A2, где A1 пуст, а A3 заполняется «- -» до того, как дата-время из третьего столбца заполнит оставшиеся строки… Что, черт возьми, я делаю не так?

Ответ №1:

Попробуйте это:

  $testPush = Import-Csv .DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Select-Object C,G
 $testPush | Export-CSv -Path .test.csv -NoTypeInformation