Python-基于两列排序csv文件

时间:2013-06-28 11:34:38

标签: python csv

我有一个csv文件说, 名字oldprice oldprofit

k2  6.319044375 0.6469451082    
k3  9.2603346875    0.4639390435    
k4  10.6868384375   1.1287761798    
K1  4.1458078125    0.5129700421    
k5  7.2702040625    0.6632701035    
K1  8.025495625 0.7561548244    
k6  7.73398625  1.017231759 
k7  9.8022878125    0.562983695 
k8  5.44912125  0.8532092538    
k2  9.5360690625    0.5481493305    
K1  6.48153375  1.4176140292    
K1  6.66228125  1.0444456163
k9  7.5859665625    1.276779643 
K1  8.6394253125    0.6690271589    

我按升序排序名称,然后按降序排列oldprice(第3列)。 输出应该是,

K1  6.48153375  1.4176140292        
K1  6.66228125  1.0444456163    
K1  8.025495625 0.7561548244    
K1  8.6394253125    0.6690271589        
K1  4.1458078125    0.5129700421    
k2  6.319044375 0.6469451082        
k2  9.5360690625    0.5481493305        
k3  9.2603346875    0.4639390435        
k4  10.6868384375   1.1287761798
k5  7.2702040625    0.6632701035    
k6  7.73398625  1.017231759

k7  9.8022878125    0.562983695

k8  5.44912125  0.8532092538    
k9  7.5859665625    1.276779643 

如何在python中生成它?

1 个答案:

答案 0 :(得分:1)

将每行csv设置为列表。现在根据oldprice排序。 获取列表并使用名称再次对其进行排序。 使用this answer to sort

从上面的python 2.2开始,sort是稳定的。由于各种旧价格的订单将在使用名称的排序中保持在具有相同名称的行中。