我正在尝试使用 powershell 将 REST API 导出到 CSV,代码如下
$DesiredProperties | Export-CSV -Path ".\Testrestapi.csv" -Encoding ASCII -NoTypeInformation
它将以下内容输出到 CSV:
, "105283","TickerID" "2365512290","TickerID" , , , , "US594918AH79","ISIN" , , , , "US594918AH79","ISIN" "2121687888","TickerID" "US594918AH79","ISIN" ,
Desired result:
"105283","TickerID" "2365512290","TickerID" "US594918AH79","ISIN" "US594918AH79","ISIN" "2121687888","TickerID" "US594918AH79","ISIN"
I tried using
(gc file.txt) | ? {$_.Trim() -ne ""} | Set-Content file.txt
但它似乎不适用于 CSV 文件。有人可以告诉我应该在这个脚本中使用哪个命令来删除空行“,,,,,”
最佳答案
您可以使用 Where-Object { $_.PSObject.Properties.Value -ne '' }
直接清理 $DesiredProperties
对象。
示例:
Input data: "C:\Temp\Testrestapi.csv" (I use your CSV here, but you should take your export object from the REST API directly:
,
"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
Output data: "C:\Temp\Testrestapi_clean.csv":
"col1","col2"
"105283","TickerID"
"2365512290","TickerID"
"US594918AH79","ISIN"
"US594918AH79","ISIN"
"2121687888","TickerID"
"US594918AH79","ISIN"
关于powershell - 使用 PowerShell 删除 CSV 文件中的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55898772/