0
換行我有一個CSV文件,該文件是在下面的格式:PowerShell的CSV除去最後一個單元格
ID,Name,Notes,Status
1,aaa,blah,
blah2,status1
2,bbb,foo,status1
3,ccc,pow,
pow2,status1
正如你可以看到,一些在Notes列的單元格包含一個逗號和換行符。我需要將這些字符替換一個空間,聚集在新線插入前行的註釋單元格中的數據,同時還帶來了身份進入狀態欄,這樣它看起來就像這樣:
ID,Name,Notes,Status
1,aaa,blah blah2,status1
2,bbb,foo,status1
3,ccc,pow pow2,status1
我想出了下面的代碼片段:
(Import-Csv $reportfile) | % {
$_.Notes = $_.Notes -replace "`r`n",' '
$_.Notes = $_.Notes -replace "`n",' '
$_.Notes = $_.Notes -replace ',',' '
$_
} | Export-Csv $newfile -NoTypeInformation
的問題是,當文件是進口的,這是對本身就是一個行中的數據通過PowerShell的解釋爲一行。所以當我輸出時,它仍然保存在自己的行中。任何想法如何以不同方式導入文件並仍然完成從該列中替換那些不需要的字符?
'Import-Csv'讀取一個文件並根據CSV文件的工作原理對其進行解釋。如果您的文件不是CSV文件或以某種方式違反了RFC 4180,那麼當然可能會有些奇怪。不過,您始終可以預先處理文件的內容並將它們傳遞給'ConvertFrom-Csv'。 – Joey
如何預處理文件並只觸摸這些列,而不使用Import-CSV? – blizz