【问题标题】:Powershell how to use SQL syntax on system.data.datatable foreach variable lookup?Powershell如何在system.data.datatable foreach变量查找上使用SQL语法?
【发布时间】:2020-07-17 00:54:39
【问题描述】:

我在 2 个大型 csv 文件上使用 Powershell ISE 中的数据表。第二个文件用于通过在 File1 中找到的 ID 号查找各种设施。因此,File2 有 1 个或多个设施,具体取决于它们的去向。我正在尝试执行标准的 foreach 循环,但不确定如何填充数字变量的去向,因为它是 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'")}

【问题讨论】:

    标签: sql powershell csv datatables


    【解决方案1】:

    我想通了! $Code.gettype() 是 BaseType - System.Object Name - DataRow。当我将它设置为 [string] 时,它可以工作。所以这很有效并且非常快。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 2017-10-24
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多