Tee*_*ayM 1 python csv sorting python-3.x
我有一个.csv文件,它包含两列我要排序的列.我想按字母顺序对第一列进行排序,将第二列按最高编号排序到最低.
我习惯sortedColumn = sorted(csv_opener,key=operator.itemgetter(0))
按字母顺序对第一列进行排序,但我也希望对第二列做同样的事情.我该怎么做呢?
您可以通过让key
callable返回一个元组来对两个方面进行排序.
我假设第二列是一个可转换为整数的字符串:
sortedColumn = sorted(csv_opener, key=lambda row: (row[0], -int(row[1])))
Run Code Online (Sandbox Code Playgroud)
通过返回负值,row[1]
您可以从最高到最低排序,而主要排序是完成或row[0]
按字母顺序排序.
所以对于样本行:
Alpha, 10
Beta, 30
Alpha, 42
Gamma, 81
Beta, 10
Run Code Online (Sandbox Code Playgroud)
排序后的输出为您提供:
Alpha, 42
Alpha, 10
Beta, 30
Beta, 10
Gamma, 81
Run Code Online (Sandbox Code Playgroud)
首先按字母顺序排序第一列,然后在第一列中输出相等的值,行按第二列的降序排序.
归档时间: |
|
查看次数: |
794 次 |
最近记录: |