如何为每一行搜索导入的 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")"
}
}
我正在尝试导入 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")"
}
}