【问题标题】:Take the cell values more than one from ".CSV" to Powershell从“.CSV”获取多个单元格值到 Powershell
【发布时间】:2020-06-02 08:19:21
【问题描述】:

我有。 csv 表格如下;

name;location;id;number
space;usa;123;110001
sky;canada;124;110002
plane;peru;126;1100011
cloud;italy;127;1111033

如果在我想将其位置和/或 id 值放在同一“. csv”文件由 Powershell 提供。

我使用$A = Import-Csv -Pathcode 获取.csv 文件。但我无法清楚地到达名称 columnn 或任何单元格。 $A.name$A.location 在我试过的 powershell 中不起作用。

谢谢

【问题讨论】:

  • 位置是什么意思?您想在名称列中查找特定值的数组索引号吗?如果是这样 $a.name.IndexOf('space') 将返回值空间的索引号。请注意它区分大小写!
  • @Ivan Mircev 我想用“名称”和“位置”到达同一行单元格。例如单元格值是“天空”,我想要“天空”单元格的位置值,所以我想找到“加拿大”单元格。
  • 详情请参考提供的答案。

标签: powershell csv


【解决方案1】:

Powershell 默认以逗号 (,) 作为分隔符导入 CSV 文件。要导入以分号为分隔符的文件,您需要使用分隔符开关:

$test = import-csv .\stackoverflowtest.csv -Delimiter ';'

然后您可以像这样处理 CSV 中的每一行:

$test[n].name

其中 n 是您要访问的当前号码,以 0 开头。

【讨论】:

    【解决方案2】:

    如果我正确理解请求,另一种选择。 如果您想查找名称为sky 的行,则:

    注意:test.csv 包含提供的输入。

    Import-Csv -Path .\test.csv -Delimiter ';' | Where-Object -Property Name -eq 'sky'
    
    name location id  number
    ---- -------- --  ------
    sky  canada   124 110002
    

    这将返回 Name 等于 sky 的所有行。
    当然你可以使用运算符-like 来使用通配符,即

    Import-Csv -Path .\test.csv -Delimiter ';' | Where-Object -Property Name -like 's*'
    
    name  location id  number
    ----  -------- --  ------
    space usa      123 110001
    sky   canada   124 110002
    

    这将返回所有以字母 s 开头的名称。

    如果你只需要位置,那么你可以使用Select-Object

    Import-Csv -Path .\test.csv -Delimiter ';' | Where-Object -Property Name -eq 'sky' | Select-Object -Property Location
    
    location
    --------
    canada
    

    或直接寻址属性:

    (Import-Csv -Path .\test.csv -Delimiter ';' | Where-Object -Property Name -eq 'sky').Location
    
    canada
    

    或者:

    $result = Import-Csv -Path .\test.csv -Delimiter ';' | Where-Object -Property Name -eq 'sky'
    $result.location
    
    canada
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      相关资源
      最近更新 更多