Удалите пустые строки в файле CSV с помощью PowerShell - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь использовать powershell для экспорта оставшегося API в CSV со следующим кодом

$DesiredProperties | Export-CSV -Path ".\Testrestapi.csv" -Encoding ASCII -NoTypeInformation

. В CSV выводится следующее:

,
"105283","TickerID"
"2365512290","TickerID"
,
,
,
,
"US594918AH79","ISIN"
,
,
,
,
"US594918AH79","ISIN"
"2121687888","TickerID"
"US594918AH79","ISIN"
,

Желаемый результат:

"105283","TickerID"
"2365512290","TickerID"
"US594918AH79","ISIN"
"US594918AH79","ISIN"
"2121687888","TickerID"
"US594918AH79","ISIN"

Я пытался использовать

(gc file.txt) | ? {$_.Trim() -ne ""} | Set-Content file.txt

, но, похоже, он не работает для файлов CSV.Может кто-нибудь показать мне, какую команду я должен использовать в этом сценарии для удаления пустых строк ",,,"

1 Ответ

1 голос
/ 29 апреля 2019

Вы можете использовать Where-Object { $_.PSObject.Properties.Value -ne '' } для непосредственной очистки $DesiredProperties объекта.

Пример:

Входные данные: "C: \ Temp \ Testrestapi.csv" (Я использую ваш CSV здесь, но вы должны взять свой объект экспорта непосредственно из REST API:

,
"105283","TickerID"
"2365512290","TickerID"
,
,
,
,
"US594918AH79","ISIN"
,
,
,
,
"US594918AH79","ISIN"
"2121687888","TickerID"
"US594918AH79","ISIN"
,

Пример кода:

Import-Csv -Path "C:\Temp\Testrestapi.csv" -Header 'col1','col2' | Where-Object { $_.PSObject.Properties.Value -ne '' } | Export-Csv -Path "C:\Temp\Testrestapi_clean.csv" -NoTypeInformation

Выходные данные: "C: \ Temp \ Testrestapi_clean.csv ":

"col1","col2"
"105283","TickerID"
"2365512290","TickerID"
"US594918AH79","ISIN"
"US594918AH79","ISIN"
"2121687888","TickerID"
"US594918AH79","ISIN"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...