如何为每一行搜索导入的 CSV 单元格值

How to search imported CSV cell values for each row

我正在尝试导入 csv,搜索每行中的单元格值(列),然后查找并计算任何空值或空白值。然后,如果计数达到 13,则执行 X。但是,当我 运行 这段代码时, cell/column 值似乎是单个对象,而不是每列的单独值?如何搜索行中的单个单元格值?

示例代码

$DataFileLocation = "\Server\Output.csv"
$sheet = import-csv $DataFileLocation
$count = 0
foreach ($row in $sheet) {
    foreach ($column in $row) {
        Write-Host "Searching value: $column"
        if ($column -eq $null -or " ") {
            Write-Host "Found a blank!"
            $count++
        }
    }
    $count
    if ($count -eq 13) {
        Write-Host "Found match!" -ForegroundColor Red
    }
    $count = 0
}

每个 $row 是一个 PSCustomObject:

PS > $row.GetType().Name
PSCustomObject

访问基础 属性 值:

foreach ($column in $row.psobject.Properties.Value){
...
}

检查$column是否为$null、空或白色space:

if ([System.String]::IsNullOrWhiteSpace($column)) { ... }

或类似

$DataFileLocation = "\Server\Output.csv"
$sheet = import-csv $DataFileLocation
$count = 0
foreach ($row in $sheet){
  ($row | Get-Member) | ? { $_.MemberType -eq "NoteProperty" } | % { 
    $n = $_.Name; "$n = $($row."$n")" 
  }
}