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

Windows系统下如何根据另一文件的列表值删除CSV文件的指定行

CSV黑名单过滤实现方案

方案1:Linux/macOS 一行awk命令(最快实现)

直接执行以下命令即可直接输出过滤后的结果:
awk -F',' 'NR==FNR{black[$1]=1;next} !black[$1]' blacklist.csv candidates.csv
如果需要保存到新文件,在命令末尾加> result.csv即可,输出的result.csv里仅包含raju,1这一行。
命令逻辑说明:先读取blacklist.csv的所有id存入黑名单集合,再遍历candidates.csv,仅输出id不在黑名单中的行。如果需要保留表头,把命令修改为awk -F',' 'NR==FNR{black[$1]=1;next} FNR==1 || !black[$1]' blacklist.csv candidates.csv即可。

方案2:跨平台Python脚本实现

适合所有操作系统,可灵活调整逻辑:

# 读取黑名单到集合
with open('blacklist.csv', 'r', encoding='utf-8') as f:
    blacklist = {line.strip() for line in f if line.strip()}

# 过滤候选文件
with open('candidates.csv', 'r', encoding='utf-8') as f_in, open('result.csv', 'w', encoding='utf-8') as f_out:
    # 跳过表头,直接遍历数据行
    next(f_in)
    for line in f_in:
        line = line.strip()
        if not line:
            continue
        id_val = line.split(',')[0]
        if id_val not in blacklist:
            f_out.write(line + '\n')

运行脚本后生成的result.csv即为所需结果。

方案3:Windows PowerShell命令实现

在PowerShell中执行以下命令:

$blacklist = Get-Content blacklist.csv | ForEach-Object { $_.Trim() }
Get-Content candidates.csv | Select-Object -Skip 1 | Where-Object { $_.Split(',')[0] -notin $blacklist } | Set-Content result.csv

执行后生成的result.csv即为仅包含raju,1的目标文件。

内容的提问来源于stack exchange,提问作者Shiva Chaudhary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:06:07