首页 > 代码库 > python3实现excel里面读数据进行排序
python3实现excel里面读数据进行排序
一、数据:
名称 | 空气质量 | 污染程度 | 其他 | 得分 |
上海 | 44.5 | 8.151949 | 14.46154 | 67.11349 |
北京 | 34 | 8.095238 | 15.15873 | 57.25397 |
广州 | 33 | 10.23364 | 13.27103 | 56.50467 |
成都 | 38.5 | 10.2129 | 15.94406 | 64.65695 |
武汉 | 42.5 | 13.26796 | 18.52273 | 74.29069 |
南京 | 50 | 7.461452 | 14.63576 | 72.09721 |
重庆 | 50 | 11.16099 | 15.21127 | 76.37226 |
南昌 | 48.5 | 12.3913 | 17.82609 | 78.71739 |
贵阳 | 49.5 | 30 | 20 | 99.5 |
二、处理脚本:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ‘‘‘ 使用python对数据排序。 # date 2016-11-10 ‘‘‘ import xlrd def Read_execl_ranking(FileName,WorkTable=‘Sheet1‘): #对数据排序,优化版本。 workbook = xlrd.open_workbook(FileName) sheet_name = workbook.sheet_names()[1] sheet = workbook.sheet_by_index(1) sheet = workbook.sheet_by_name(WorkTable) print ("各项排名!") print (‘-‘*20) for j in range(1,sheet.ncols): lie = {} print (sheet.cell(0,j).value+":") for i in range(1,sheet.nrows): lie[sheet.cell(i,0).value] = sheet.cell(i,j).value i = i+1 newlie = sorted(lie.items(),key = lambda d:d[1],reverse = True) for i in range(0,len(newlie)): print (newlie[i][0]+":"+str(newlie[i][1])+"分," ,end = ‘ ‘) i = i+1 print ("") if __name__ == "__main__": FileName=r‘execl_test.xlsx‘ Read_execl_ranking(FileName=FileName,WorkTable=‘Sheet4‘)
三、结果图:
本文出自 “都市布衣” 博客,请务必保留此出处http://sunday208.blog.51cto.com/377871/1871491
python3实现excel里面读数据进行排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。