【问题标题】:Replace value in specific column in CSV from hashtable从哈希表中替换 CSV 中特定列中的值
【发布时间】:2016-05-18 16:56:33
【问题描述】:

我有一个带有多个标题的导入 CSV ($csv),其中一个是“目标服务器”。在 CSV 中,此列的值是 device1、device2 等。

我还有一个哈希表 ($hash),其中包含 name(device1) - value(fqdn1) 等的名称/值对。

所以我想用哈希表中的正确值替换 CSV 中的“device1”,例如:

foreach($row in $csv)
  if($hash[$_.Name]){
    $row."Target Server"= $hash[$_.Value]
  }

我暖和了吗?

【问题讨论】:

    标签: csv powershell hashtable


    【解决方案1】:

    使用ContainsKey() 方法查看哈希表是否包含具有特定名称/键的条目:

    foreach($row in $csv) {
        if($hash.ContainsKey($row.'Target Server')) {
            $row.'Target Server' = $hash[$row.'Target Server']
        }
    }
    

    【讨论】:

    • 感谢 Mathias,我收到错误:使用“1”参数调用“ContainsKey”的异常:“键不能为空。参数名称:键”如何按名称引用特定的 csv 列?
    • 实际上它起作用了,我在运行时从以前的操作中从内存中传递了 $csv。当我将先前的结果导出到 .csv 并将其导入并分配给 $csv 时,它起作用了。
    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 2021-10-19
    • 2015-12-03
    相关资源
    最近更新 更多