我有一个假定的CSV文件(由旧的内部系统生成): -
这是一个帮助你了解情况的例子。
UserName UserEmail EnquiryCreated EnquirySubmitted
A.nother anne.nother@mail.com 01/09/201512:00 01/09/201512:01
因此,想要将这个大型数据文件的解析自动化为可读的CSV格式,我正在考虑使用POWERSHELL。基本上我需要用一个逗号替换任何有一个或大量水平空格的地方,并输出为CSV。我试图找到最有效/最优雅的方法,我对此提出了建议。
所以理想的格式是: -
A.nother,anne.nother @ mail.com,01/09/201512:00,01 / 09/201512:01,
CSV文件由SPLUNK监控,因此将自动拉出。
编辑 - Sam为了清晰起见,我已经完成了屏幕抓取,因为格式被#34; Stack overflow"改变了。
答案 0 :(得分:1)
这是替换的一种方式。首先,创建输出文件并添加标题。然后,用逗号替换空格(1或更多)并将它们添加到文件中。
Add-Content "C:\temp\output.csv" -Value "UserName,UserEmail,EnquiryCreated,EnquirySubmitted"
Get-Content "C:\temp\input.csv" | % { Add-Content $outputCsv -Value $($_ -replace "\s+", ",") }
我不清楚您是否需要PowerShell脚本来检测文件中的“一个或多个水平空格”。