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

Python实现CSV文件打开读取并按首列数值排序及代码修复方法

代码问题分析
  • list.sort()是原地排序方法,返回值为None,你直接返回该方法的执行结果,无法得到排序后的列表
  • 直接对读取到的行字符串排序默认使用字符串字典序,当行首序号超过1位数时会出现排序错误(比如10,xxx会排在2,xxx前面),需要显式提取每行第一个字段转为整数作为排序依据
  • 未使用上下文管理器管理文件打开操作,存在文件句柄泄漏的风险
  • 函数命名与你预期的sortCSV不符,也未做CSV格式的基本容错处理
修改后的实现代码
import csv
def sortCSV(csvFilename: str):
    # 用with上下文管理器自动关闭文件
    with open(csvFilename, 'r', encoding='utf-8') as f:
        lines = f.readlines()
    # 按每行第一个逗号前的数值升序排序
    sorted_lines = sorted(lines, key=lambda x: int(x.split(',')[0]))
    # 若需要返回拼接好的完整字符串可改为 return ''.join(sorted_lines)
    return sorted_lines

# 打印测试逻辑
if __name__ == '__main__':
    result = sortCSV('你的csv文件路径.csv')
    for line in result:
        print(line.strip())
补充说明

如果你的CSV存在表头、空行等特殊情况,可在读取后先做数据过滤再执行排序操作;如果需要输出排序后的新CSV文件,新增文件写入逻辑,将排序后的行逐行写入新文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:54:03