Использование Powershell для экспорта-Csv

#powershell

#powershell

Вопрос:

ниже приведен код, который я использую для поиска дубликатов в a CSV и их суммирования. Я не могу понять, как правильно Export-CSV

приведенный ниже код показывает, что мне нужно в окне терминала

любая помощь будет высоко оценена

  Import-Csv (Get-ChildItem "E:Bill3output.csv") |         
 Group-Object -Property Code |
    Select-Object -Property @{Name='Code';Expression={$_.Name}}, 
        @{Name='Quantity';Expression={
            ($_.Group| Measure-Object -Sum -Property Quantity ).Sum
          
           
        }       
        }
 

вот как выглядит терминал, вот как я хотел бы, чтобы мой экспортированный csv выглядел

введите описание изображения здесь

Комментарии:

1. Передача в Export-CSV после вашей последней команды?

2. Я попробовал это, и он не экспортировал

3. @RedecIndustrial — так … что wouldn't export означает … точно? [ усмешка ]

4. @Lee_Dailey Я попытался Export-CSV выполнить передачу в конце скрипта, и это создает пробел CSV , так что вы правы, подтягивая меня, поскольку он экспортировал, но данные не были экспортированы, я проголосую за ваш комментарий, поскольку это было хорошо замечено [усмешка]

5. Пожалуйста, покажите ту часть кода, где экспорт завершается неудачно. Добавление | Export-csv file.csv -NoType после последнего } работает для меня.

Ответ №1:

Вы можете сделать следующее:

 Import-Csv (Get-ChildItem "E:Bill3output.csv") |         
 Group-Object -Property Code |
    Select-Object -Property @{Name='Code';Expression={$_.Name}}, 
        @{Name='Quantity';Expression={
            ($_.Group| Measure-Object -Sum -Property Quantity ).Sum 
        }       
    } | Export-Csv file.csv -NoType
 

пустой элемент конвейера не допускается

Причина, по которой вы получили приведенное выше сообщение об ошибке, заключается в синтаксических проблемах с продолжением строки. Закрытие } не продолжает строку. Поэтому вы не можете добавить свою | Export-Csv команду в следующую строку, следующую за последней } . Они должны быть в одной строке. Вы можете просто запустить следующий код, чтобы сгенерировать ту же ошибку:

 PS > | export-csv o.csv
At line:1 char:1
  | export-csv o.csv
  ~
An empty pipe element is not allowed.
      CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
      FullyQualifiedErrorId : EmptyPipeElement
 

Объяснение продолжения строки см. в разделе Естественные продолжатели строк.