【问题标题】:Powershell to replace null value in csv cell with adjacent valuePowershell用相邻值替换csv单元格中的空值
【发布时间】:2017-06-16 13:10:37
【问题描述】:

我正在尝试使用 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

【问题讨论】:

  • 欢迎来到 Stack Overflow。该站点用于询问特定的编程问题。为了让我们帮助您,请提供minimal, complete, and verifiable example。向我们展示您为尝试解决问题而编写的代码,并描述您的代码行为与预期行为有何不同。遵循这些步骤会增加有人回答您的问题的可能性。

标签: powershell csv


【解决方案1】:

因此,您可以使用Import-CSV cmdlet 将文件导入对象。然后您可以遍历您的对象以查找Team2 为空或为空的位置。有一个字符串方法可以检查并返回$True$False。所以这可以是If 块中的条件。然后我们将返回该值,以便它可以通过管道传递给Export-CSV

Import-CSV $FilePath | ForEach-Object {
    If  ([string]::IsNullOrEmpty($_.Team2)) {
        $_.Team2 = $_.Team1
    }
    $_
} | Export-CSV $ExportPath

【讨论】:

    【解决方案2】:

    其他方法

    ipcsv $FilePath | %{if(!$_.Team2) {$_.Team2 = $_.Team1} ; $_ } |  epcsv $ExportPath -notype
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 2014-07-15
      • 1970-01-01
      相关资源
      最近更新 更多