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

Python读取CSV单列查≥4次重复值写入新文件报错如何解决

CSV单列重复值检索脚本错误修正方案

错误根源

你代码存在两个核心问题:

  1. FindQuad 函数当前仅返回「是否存在出现≥4次元素」的布尔值,未返回符合要求的元素及其出现次数,无法直接调用.items()遍历
  2. 代码混淆了函数对象和函数返回结果,FindQuad.items()是对函数本身调用方法,自然触发属性不存在的报错

修正后完整代码

import csv
from collections import Counter

def FindQuad(in_list):
    counts = Counter(in_list)
    # 直接返回符合条件的<元素: 出现次数>字典,方便后续写入
    return {item: count for item, count in counts.items() if count >= 4}

# 读取源文件第一列数据
with open('Finding quadruplicates.csv', 'rt', encoding='utf-8') as f_input:
    col_a = [row[0] for row in csv.reader(f_input)]

# 调用函数获取结果
quad_result = FindQuad(col_a)
print("出现4次及以上的元素:", quad_result)

# 写入结果到新CSV
with open('newfile.csv','w', encoding='utf-8', newline='') as csvfile:
    writer = csv.writer(csvfile)
    # 如需同时写入出现次数,表头改为['IDs', '出现次数']即可
    writer.writerow(['IDs'])
    for id_val, count in quad_result.items():
        # 如需同时写入出现次数,改为writer.writerow([id_val, count])即可
        writer.writerow([id_val])

优化说明

  • 补充了encoding='utf-8'参数,避免读写过程出现中文乱码
  • 写入csv时新增newline=''参数,避免Windows系统下生成的csv出现多余空行
  • 保留了可拓展的计数输出逻辑,可根据需要调整输出内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:01