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

Python不使用pandas读取CSV文件排序结果错误如何解决?

问题排查与代码修正
  • 核心错误:csv.reader读取出来的所有值默认都是字符串类型,直接按第二列排序时走的是字符串字典序规则,不是数值大小规则:'11'的首位字符'1'的ASCII码小于'9',所以会出现11开头的数值反而排在9后面的问题
  • 冗余逻辑问题:代码中for row in reader属于无效循环,且会迭代消耗掉reader的首行数据,导致排序时漏掉第一条记录
  • 多余文件操作:with语句会在代码块执行结束后自动关闭文件,末尾的csvFile.close()无需额外添加
修正后代码
import csv

with open('final.csv', 'r') as csvFile:
    reader = csv.reader(csvFile)
    # 读取所有行,按第二列的浮点数值倒序排序
    sortedlist = sorted(reader, key=lambda x: float(x[1]), reverse=True)

for eachline in sortedlist:
    print(eachline)
修正后运行输出
['sarvin', '11.375']
['sina', '11.285714285714286']
['sara', '9.75']
['soheila', '7.833333333333333']
['hamid', '6.066666666666666']
['ali', '5.0']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:24:01