【发布时间】:2014-02-26 16:54:06
【问题描述】:
我面临着挑战,而且我是开发新手(但长期担任系统管理员)。
基本上我有一个包含一些空字段的 CSV(很多 CSV,但我想从 1 开始)。
我希望我可以使用 powershell 加载 csv,然后进行查找和替换,然后使用以下代码输出文件....但是我不能指定零长度字符串。 (出于显而易见的原因,我想你不能搜索任何东西)......
PS C:\Users\Administrator> [io.file]::readalltext("C:\BainesWingData.CSV").replace("","TEST") | Out-File c:\result.
csv -Encoding ascii -Force
我要做的就是用“0”替换空字段。这是 CSV 的示例。空白字段的位置可能会有所不同。
Timestamp,Baines Wing - 0006.B0006 0006 EM03 (kWh),Baines Wing - 0006.B0006 0006 EM04 (kWh),Baines Wing - 0006.B0006 0006 EM05 (kWh),Baines Wing - 0006.B0016 0006 EM01 (kWh)
31/01/2014 20:00,,,,
31/01/2014 20:30,6,8,6,19
31/01/2014 21:00,5,9,6,19
31/01/2014 21:30,5,8,6,20
31/01/2014 22:00,5,8,6,19
31/01/2014 22:30,6,8,5,20
31/01/2014 23:00,5,7,6,19
31/01/2014 23:30,5,8,6,20
01/02/2014 00:00,5,8,5,19
01/02/2014 00:30,5,8,6,20
01/02/2014 01:00,5,8,6,19
01/02/2014 19:00,5,7,7,19
01/02/2014 19:30,,,,20
01/02/2014 20:00,,,,
如您所见,某些行有一些空字段。这会破坏必须读取这些 CSV 文件的应用程序,所以我的目标是想出一个在这些 CSV 上运行的脚本,以仅用 0 替换空字段。
有人能指点我正确的方向吗?
问候 汤姆
【问题讨论】:
标签: powershell csv powershell-2.0 powershell-3.0