You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell筛选CSV指定列的NULL与特定值及排查代码问题

问题排查与解决方案

核心问题

你的代码未返回数据,大概率是判断条件不匹配:CSV里的状态是Revoked,但你代码里写的是-eq "Revoke",少了末尾的"d",导致该条件永远不触发;另外需确认CSV文件路径正确,且Approval列的表头与代码里的拼写完全一致。

修正后的基础版代码

$ListDataCollection = Import-Csv -Path "C:\Temp\FinalListData.csv"

$users_to_disable = @()

$ListDataCollection | ForEach-Object {
    if ([string]::IsNullOrEmpty($_.Approval) -or $_.Approval -eq "Revoked") {
        $users_to_disable += $_.Employee_Name
    }
}

$users_to_disable

更简洁的PowerShell风格写法

PowerShell更推荐用管道过滤替代手动循环,代码更简洁高效:

$users_to_disable = Import-Csv -Path "C:\Temp\FinalListData.csv" | 
    Where-Object { [string]::IsNullOrEmpty($_.Approval) -or $_.Approval -eq "Revoked" } |
    Select-Object -ExpandProperty Employee_Name

$users_to_disable

额外验证建议

  • 先运行$ListDataCollection | Format-Table查看导入的数据,确认Approval列的实际值和表头拼写是否正确
  • 检查文件路径是否存在,避免因路径错误导致导入空数据

内容的提问来源于stack exchange,提问作者Danny Moulier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:05:31