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

Python读取CSV文件完成评分后写入为含分数和评级两列新CSV的方法

分数评级CSV写入解决方案

以下是调整后可直接实现读取分数、评级、写入两列结果CSV的完整代码:

import csv

# 同时打开源分数文件和结果写入文件
with open('arvud.csv', 'r', encoding='utf-8') as read_file, \
     open('score_result.csv', 'w', encoding='utf-8', newline='') as write_file:
    # 初始化CSV写入工具
    csv_writer = csv.writer(write_file)
    # 写入输出文件表头,对应要求的两列
    csv_writer.writerow(['原始分数', '评级'])

    for line in read_file:
        # 清理每行首尾的换行符、空白符,跳过空行避免转换报错
        raw_score = line.strip()
        if not raw_score:
            continue
        x = int(raw_score)
        # 原有评级逻辑,优化了边界判断补全漏洞
        if x > 90:
            level = "Hinne 5"
        elif 80 < x <= 90:
            level = "Hinne 4"
        elif 70 < x <= 80:
            level = "Hinne 3"
        elif 60 < x <= 70:
            level = "Hinne 2"
        elif 50 < x <= 60:
            level = "Hinne 1"
        else:
            level = "Hinne 0"
        # 将当前分数和对应评级写入结果文件
        csv_writer.writerow([x, level])

核心调整说明

  • 用Python内置的csv模块处理写入,自动适配CSV格式规范,无需手动拼接分隔符
  • 新增空白行跳过、首尾空白符清理逻辑,避免分数转整数时报错
  • 优化了原有评级逻辑的边界判断,补全了x=50、x=90等边界值的匹配规则,避免出现无匹配的异常情况
  • 输出结果文件默认名为score_result.csv,首行自带两列表头,后续每行一一对应原始分数和评级

可选调整

  • 如果不需要输出表头,直接删除csv_writer.writerow(['原始分数', '评级'])这一行即可
  • 如果源CSV不是单分数列、是多列结构,将raw_score = line.strip()调整为按逗号拆分取对应列即可,例如取第二列分数可以写为raw_score = line.strip().split(',')[1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:06:05