csv文件多条件排序

csv文件多条件排序

csv文件" title="csv文件">csv文件多条件排序
先按照第一列即x[0]升序排序,再按照第二列即x[0]升序排序。如需降序排列,需在sorted函数体内加上reverse = True。

import sys, csv , operator

data = csv.reader(open('C:\\test.csv'),delimiter=',')

sortedlist = sorted(data, key = lambda x: (x[0], int(x[1])))

with open("C:\\result_test.csv", "w", newline = '') as f:

fileWriter = csv.writer(f, delimiter=',')

for row in sortedlist:

fileWriter.writerow(row)

f.close()

如果要多条件排序,第一列升序,第二列降序,能用sorted函数吗?


回答:

可以,不过你给 sorted 传 cmp 比较函数。
csv 的处理 pandas 会比较方便~

import pandas as pd

# 读取csv

df = pd.read_csv('C:\test.csv')

# 获取列标签数组

column_list = df.columns.values

# 第一列升序,第二列降序

result = df.sort_values([column_list[0], column_list[1]], ascending=[1, 0])

print(result)

以上是 csv文件多条件排序 的全部内容, 来源链接: utcz.com/a/157886.html

回到顶部