python的sort()和sorted()函数可以进行多列排序。在一个文本或者列表有多列时,这是一个很好用的技巧。

  首先,看一下待排序的数据

  这是一个csv文件,它有6列,我们需要首先对第一列排序,再对第六列排序

  46896961,192100485,1,95wf5sm,1863,2014-12-18 15
  39716997,265509650,1,94k0ped,6058,2014-11-18 19
  40907060,362837862,1,,12819,2014-12-08 04
  118420067,331756810,1,,6054,2014-12-13 19
  18261127,268564109,1,,2771,2014-12-17 19
  17042777,72469526,1,,1863,2014-12-11 23
  104414180,141928375,1,,1863,2014-12-09 19
  28375714,258478694,1,,8095,2014-12-06 14
  132940744,46626071,1,9752qdo,4230,2014-11-27 21
  46896961,10879448,1,95wf59q,11279,2014-12-11 23

  把数据读到列表里面,列表调用sort()函数进行排序,sort()函数多列排序的格式为 list.sort(key = lambda x:(第一列,第六列)),因为读到列表里面的字符串有换行符,可以对第六列进行切片操作。由于第六列是规范的日期格式,所以自己用字符串比较大小是可行的。如果日期不是规格化的,可以把年月日取出,转为int型比较大小。

  代码实现为:

  reader_list.sort(key = lambda x: (x.split(',')[0], x.split(',')[5][-14:-1]))

  

转载于:https://www.cnblogs.com/lkprof/p/4415288.html

python多列排序相关推荐

  1. python 多列排序_python sorted多列排序

    sorted 可以对所有可迭代的对象进行排序操作 也就是说,任意元组.列表.字典互相嵌套的结构都可以用sorted进行排序 sorted 语法 sorted(iterable[, cmp[, key[ ...

  2. python多列排序_Python prettytable按多列排序

    我正在使用PrettyTable以漂亮的表格格式将数据打印到终端. 通过单列打印它非常容易. from prettytable import PrettyTable table = PrettyTab ...

  3. python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

    本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...

  4. python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法

    这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...

  5. Python 二维列表按多列排序 反向排序

    Python 二维列表按多列排序 (有多个元素需要排序 代码 代码 两种方法均可 raw_list = [[6,2,'c'],[4,5,'b'],[7,8,'a']]sorted_list = sor ...

  6. python数组排序-python - 按列在NumPy中对数组进行排序

    python - 按列在NumPy中对数组进行排序 如何在第n列中对NumPy中的数组进行排序? 例如, a = array([[9, 2, 3], [4, 5, 6], [7, 0, 5]]) 我想 ...

  7. 【python】二维数组按照某行或某列排序(numpy lexsort)

    这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...

  8. python xlwings excel 根据列排序

    import xlwings as xw file = 'a.xlsx' app = xw.App(visible=False, add_book=False) app.display_alerts ...

  9. python中的排序方法都有哪些_几种常见的排序方法总结(Python)

    几种常见的排序算法总结(Python) 排序算法:是一种能将一串数据依照特定顺序进行排序的一种算法. 稳定性:稳定排序算法会让原本有相等键值的记录维持相对次序.也就是如果一个排序算法是稳定的,当有两个 ...

最新文章

  1. 在线视频解决方案供应商
  2. C语言指针、数组与sizeof运算符
  3. Python实现顺序表
  4. [Java基础]多态基础
  5. AcWing 523. 组合数问题
  6. 腾讯+字节+阿里面经真题汇总,Android篇
  7. canvas 插件_基于canvas的JavaScript 二维码生成工具——QRCanvas
  8. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)
  9. 【LeetCode笔记】剑指 Offer 61-. 扑克牌中的顺子 (Java、哈希表)
  10. 印度首富之女大婚,贫穷限制了我的想象……
  11. IEEE 研究类型 小木虫
  12. Atitit 读取文本文件内容功能的实现 艾提拉 总结 attilax总结 1.1. FileUtilsAti.readFileToStringAutoDetectEncode(txtF); 1 1
  13. Github copilot: AI协助编程尝试
  14. matlab绘图颜色RGB
  15. 为何学习Python?这是我看到的最好回答
  16. 08、Metasploit渗透测试之信息收集
  17. 如何判断一个数是否是素数
  18. 并行计算————计算机架构
  19. Android9.0新特性
  20. 首次发布!《5G移动通信基站电磁辐射环境监测方法》征求意见

热门文章

  1. ACM算法--spfa算法--最短路算法
  2. 小学教师计算机国培培训总结,小学教师国培培训心得体会
  3. 纪念品分组java_纪念品分组 ——易懂、简介、技巧(Java代码)
  4. 使用中断后不停止_仓鼠偷吃鼠粮,被发现后立刻停止,但鼠鼠满脸不情愿
  5. e4a服务器文件,e4a链接网站服务器
  6. leetcode1528. 重新排列字符串
  7. leetcode612. 平面上的最近距离(SQL)
  8. leetcode176. 第二高的薪水(SQL)
  9. leetcode143 重排链表
  10. Redis:05---键的基本命令(下) 生存周期