【问题标题】:Remove non-numeral characters from column of csv when importing into PowerShell导入 PowerShell 时从 csv 列中删除非数字字符
【发布时间】:2021-08-24 20:23:48
【问题描述】:

我对编码很陌生。我正在尝试使用 PowerShell 过滤几千行 csv 测试数据。

我有一个在大量单元上完成的测试程序。我需要提取这些单位子集的数据。

创建测试数据时,手动输入单元号。此时将任意数量的其他字符添加到 4 位单元编号是很常见的。例如,单元 1234 可能显示为 A1234、abc 1234、A1234Z 等。

我想删除出现在我的 csv 列中的所有非数字字符,以便提取适当的数据。

我编写了一些代码来提取与列表条目匹配的单元号数据。我知道正则表达式可用于删除字母 (like in these answers),但我不太确定如何将其合并到我的代码中。 非常感谢任何帮助!

这是我目前的代码

$UnitNumbers = "1234", "5678"
Import-Csv 'test.csv' |
Where { $_.UNIT_VC -in $UnitNumbers} |  
Export-Csv 'test1.csv' -NoTypeInformation

【问题讨论】:

    标签: string powershell csv


    【解决方案1】:

    假设目的是仅导出 UNIT_VC 列包含指定数字之一的行,并将这些列设置为找到的数字:

    Import-Csv 'test.csv' |
      ForEach-Object { 
        if ($_.UNIT_VC -match '1234|5678') {
          $_.UNIT_VC = $Matches[0]
          $_ # Output the modified object.
        }
      } | Export-Csv 'test1.csv' -NoTypeInformation
    

    【讨论】:

      猜你喜欢
      • 2016-07-28
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 2016-07-20
      相关资源
      最近更新 更多