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

如何根据live.csv筛选beta.csv,移除含无效物品的行

过滤CSV中包含无效物品的行

你需要根据live.csv里的有效物品列表,筛选beta.csv中仅包含有效物品的行,以下是几种实用的解决方案:

方法一:Python脚本处理

适合有基础编程能力的用户,灵活且能应对复杂场景(比如物品名含逗号的情况):

# 读取live.csv中的有效物品,存入集合以提升查找效率
valid_items = set()
with open('live.csv', 'r', encoding='utf-8') as live_file:
    next(live_file)  # 跳过表头行
    for line in live_file:
        item = line.strip()
        valid_items.add(item)

# 遍历beta.csv,筛选有效行并写入新文件
with open('beta.csv', 'r', encoding='utf-8') as beta_file, open('filtered_beta.csv', 'w', encoding='utf-8') as output_file:
    # 保留表头
    header = next(beta_file)
    output_file.write(header)
    
    for line in beta_file:
        # 按逗号分割,只分割一次(避免物品名包含逗号)
        npc, item = line.strip().split(',', 1)
        if item.strip() in valid_items:
            output_file.write(line)

使用步骤:

  • 将上述代码保存为filter_csv.py,放在和两个CSV文件同一目录下
  • 打开终端,运行命令:python filter_csv.py
  • 生成的filtered_beta.csv就是你需要的结果文件

方法二:命令行awk工具处理

适合Linux/macOS用户(或Windows下使用WSL),无需编写脚本,直接用命令完成:

awk -F ',' 'NR==FNR{if(NR>1) valid[$1]=1; next} FNR==1 || valid[$2]==1' live.csv beta.csv > filtered_beta.csv

命令解释:

  • -F ',':指定CSV文件的分隔符为逗号
  • NR==FNR:处理第一个输入文件live.csv,跳过表头后将所有有效物品存入valid数组
  • FNR==1:保留beta.csv的表头行
  • valid[$2]==1:检查beta.csv第二列(物品)是否在有效列表中,符合条件的行输出到filtered_beta.csv

方法三:Excel/Numbers可视化处理

适合无编程基础的用户,用表格工具操作:

  • 同时打开beta.csv和live.csv两个文件
  • 在beta.csv中新增一列(比如C列),在C2单元格输入公式:=COUNTIF([live.csv]Sheet1!$A:$A,B2)
  • 下拉填充公式到所有行:结果为1表示物品有效,0表示无效
  • 选中C列,点击「筛选」按钮,只保留值为1的行
  • 复制筛选后的内容到新表格,保存为CSV格式即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:27:32