我正在尝试使用PowerShell将csv文件中的Team2列中的空值替换为Team1列中的相邻值。我是全新的,所以希望有人能指出我正确的方向。
我有这种格式的CSV,Team2列中的几个值将为空值:
test test2 Team1 Team2
---- ----- ----- -----
0000 aaaaa Name1 Name6
0001 wwwww Name2
0004 ttttt Name3 Name8
0005 ttttt Name4
0006 hhhhh Name5 Name10
答案 0 :(得分:2)
因此,您可以使用Import-CSV
cmdlet将文件导入对象。然后,您可以遍历对象以查找Team2
为空或空的位置。有一个字符串方法只检查它并返回$True
或$False
。所以这可以是If
块中的条件。然后我们将返回该值,以便可以将其传递到管道Export-CSV
Import-CSV $FilePath | ForEach-Object {
If ([string]::IsNullOrEmpty($_.Team2)) {
$_.Team2 = $_.Team1
}
$_
} | Export-CSV $ExportPath
答案 1 :(得分:1)
其他方法
ipcsv $FilePath | %{if(!$_.Team2) {$_.Team2 = $_.Team1} ; $_ } | epcsv $ExportPath -notype