我有一个格式如下的 CSV 文件:
ID,Name,Notes,Status
1,aaa,blah,
blah2,status1
2,bbb,foo,status1
3,ccc,pow,
pow2,status1
如您所见,Notes 列中的某些单元格包含逗号和换行符。我需要用空格替换这些字符,并将新行中的数据聚合到上一行的 Notes 单元格中,同时仍将状态带入 Status 列,使其看起来像这样:
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解释为一行。所以当我导出它时,它仍然保存在自己的行中。有什么想法可以以不同的方式导入文件并仍然完成从该列中替换那些不需要的字符吗?