我有一个CSV文件,我使用PowerShell进行重组,我希望在使用通配符匹配名称的多个字段中组合值。我在导入它们时已经选择了我的CSV字段,因此我想使用类似于以下内容的东西:
$c4 = @{n="Grouped";e={$_.C1+$_.C2+$_.C3}}
$csv = import-csv $incsv | select $c4
这很有效,但我想找到一种在e
中动态创建$c4
表达式的方法。我能够构建一个列名称数组(在这个例子中,包含C1到C3),但是不能弄清楚如何使用它来构建表达式。
我有几个限制:
非常感谢任何帮助!
感谢。
答案 0 :(得分:0)
您可以从字段名称中创建一个字符串块,例如:
$sb = [scriptblock]::create("`$_.C1+`$_.C2+`$_.C3")
$c4 = @{n="Grouped";e=$sb}
使用字符串,您可以使用循环和各种构造来创建字符串,然后将其传递给[scriptblock]::create()
以获取可用于Select哈希表的Expression部分的脚本块。