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

Python列表不追加元素:关键字筛选CSV行时matches列表为空故障排查

你的问题由两处逻辑错误导致,和文件保存为.csv还是.txt格式无关:

  • 关键字读取逻辑错误:你的关键字文件是单行逗号分隔的字符串,原有代码逐行读取后直接存入列表,会导致search_words列表中只有1个元素(完整的A2M,ABCC9,ACADVL,ACTC1,ACTN2,ADA2,AGL长字符串),没有拆分出单个待匹配的关键字。
  • 行拆分逻辑错误:你的主文件字段用逗号分隔,原有代码用line.split()(默认按空白字符拆分),会导致拆分后的current_line列表只有1个元素(整行完整内容),自然无法匹配到单独的关键字值。
修复后的完整代码
# 读取关键字文件,拆分出单个关键字
with open(r'file.csv','r', encoding='utf-8') as list_file:
    # 读取单行内容、去空白后按逗号拆分
    search_words = list_file.readline().strip().split(',')

matches = []

# 读取主文件
with open(r'file2.csv','r', encoding='utf-8') as master_file:
    for line in master_file:
        # 按逗号拆分当前行的所有字段
        current_line = line.split(',')
        # 遍历关键字匹配
        for search_word in search_words:
            if search_word in current_line:
                matches.append(line)
                break

# 写入结果
with open(r'file3.txt', 'w', encoding='utf-8') as new_file:
    new_file.writelines(matches)

代码中使用with上下文管理器管理文件读写,不需要手动调用close()方法,可避免文件忘记关闭的异常,调整后即可输出你预期的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:15:01