繁体   English   中英

Powershell 如何在 system.data.datatable foreach 变量查找中使用 SQL 语法?

[英]Powershell how to use SQL syntax on system.data.datatable foreach variable lookup?

我在 2 个大型 csv 文件上使用 Powershell ISE 中的数据表。 第二个文件用于通过在 File1 中找到的 ID 号查找各种设施。 因此,File2 有 1 个或多个设施,具体取决于它们 go 的位置。 我正在尝试执行标准的 foreach 循环,但不确定如何填充数字变量 go 的位置,因为它是 SQL 语法(我的理解)。 $Script:MappingTable2 至少有一个匹配的 ID,但有时很多。 我已将这些加载到数据表中,但不知道如何添加相当于 $_ 的 PowerShell 进行查找。 因此,2017 将提取所有以 2017 作为 ID 的设施,我想在 File1 中按 $Code 查找这些设施。 $Script:MappingTable2.select("PRACT_ID = '$Code.ID'") 不起作用,但如果只有数字存在(如下所示),它会抓取与 ID 相关的所有行。 或者只有一对一匹配。 希望将数组作为单个组合字符串添加到新列中的新第三个 csv 单元格中,这应该是两个文件的合并。 谢谢

foreach ($Code in $File1) {
$Script:MappingTable2.select("PRACT_ID = '2017'")}

我想到了。 $Code.gettype() 是 BaseType - System.Object 名称 - DataRow。 当我将其设置为 [string] 时,它可以工作。 所以这很有效,而且速度非常快。

foreach ($Code in $File1) {
[string]$ID = $Code.PRACT_ID
$Script:MappingTable2.select("PRACT_ID = '$ID'")}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM