【问题标题】:Powershell : Excel data reading issuePowershell:Excel数据读取问题
【发布时间】:2021-01-06 12:32:11
【问题描述】:

我遇到了一个 powershell 脚本问题,该脚本应该将数据读入 excel 文件 (.csv)

我的excel内容

Request Request Name
Service 1 SA1
Service 2 SA2
Service 3 SA3

我需要用第一列中的值检索第二列的内容

如果我选择“服务 1”,获取值 SA1

提前感谢您的帮助

问候

【问题讨论】:

  • 到目前为止你有什么尝试?
  • $csv = import-csv c:\temp.csv; $csv | ? Request -match "Service 1"
  • 我刚刚得到了第一列项目 $Header = 'Request' $ReqList = Import-Csv -Delimiter ";" -路径“C:\Scripts\Templates.csv”| select -ExpandProperty $Header 当我从第一个项目中选择一个项目时,我现在正在寻找一种解决方案来获取第二列中相关行的值
  • 我期望的最终结果是:第一列显示在一个组合框中例如如果用户选择“服务1”,返回的结果应该是“SA1”

标签: excel powershell row


【解决方案1】:

根据您的 cmets,您可以执行以下操作:

$RequestValue = 'Service 2'
(Import-Csv -Delimiter ";" -Path "C:\Scripts\Templates.csv" |
    Where Request -eq $RequestValue).'Request Name'

变量$RequestValue 不是必需的,但这是模拟在代码中的其他位置检索该值的场景。你可以改用Where Request -eq 'Service 2'

WhereWhere-Object 的别名。这里使用语法where property operator value。满足条件属性Request 的值为$RequestValue 的行被选中。

使用Member Access Operator (.propertyName),您可以检索Request Name 属性的值。由于属性名称包含一个空格,因此您需要将其括在引号中以便正确解析。

【讨论】:

    猜你喜欢
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2014-07-18
    • 2014-09-21
    相关资源
    最近更新 更多