python初學—-實現excel裏面讀數據進行排序

爲了加快數據的處理能力,加快統計排名情況,需要從統計好的excel表中進行相關數據排序,並按要求輸出。

fenshu.xlsx


空氣質量污染程度其他得分
上海44.58.15194914.4615467.11349
北京348.09523815.1587357.25397
廣州3310.2336413.2710356.50467
成都38.510.212915.9440664.65695
武漢42.513.2679618.5227374.29069
南京507.46145214.6357672.09721
重慶5011.1609915.2112776.37226
南昌48.512.391317.8260978.71739
貴陽49.5302099.5
#coding:GBK
import xlrd
import xlwt

def read_excel():
    workbook = xlrd.open_workbook(r'D:\python case\fenshu.xlsx')
#    print workbook.sheet_names()
    sheet_name = workbook.sheet_names()[1]
    sheet = workbook.sheet_by_index(1)
    sheet = workbook.sheet_by_name('Sheet1')
    lie = {}
    print "各項排名!"
    print '-'*20
    
    print sheet.cell(0,1).value.encode('GBK')+":"
    for i in range(1,sheet.nrows):
        lie[sheet.cell(i,0).value.encode('GBK')] = sheet.cell(i,1).value
        i = i+1
    newlie = sorted(lie.iteritems(),key = lambda d:d[1],reverse = True)
    for i in range(0,len(newlie)):
        print newlie[i][0]+":"+str(newlie[i][1])+"分," ,
        i = i+1
    print "\n"

    print sheet.cell(0,2).value.encode('GBK')+":"
    for i in range(1,sheet.nrows):
        lie[sheet.cell(i,0).value.encode('GBK')] = sheet.cell(i,2).value
        i = i+1
    newlie = sorted(lie.iteritems(),key = lambda d:d[1],reverse = True)
    for i in range(0,len(newlie)):
        print newlie[i][0]+":"+"%.1f" %(newlie[i][1])+"分," ,
        i = i+1
    print "\n"
    
    print sheet.cell(0,3).value.encode('GBK')+":"
    for i in range(1,sheet.nrows):
        lie[sheet.cell(i,0).value.encode('GBK')] = sheet.cell(i,3).value
        i = i+1
    newlie = sorted(lie.iteritems(),key = lambda d:d[1],reverse = True)
    for i in range(0,len(newlie)):
        print newlie[i][0]+":"+"%.1f" %(newlie[i][1])+"分," ,
        i = i+1
    print "\n"

    print sheet.cell(0,4).value.encode('GBK')+":"
    for i in range(1,sheet.nrows):
        lie[sheet.cell(i,0).value.encode('GBK')] = sheet.cell(i,4).value
        i = i+1
    newlie = sorted(lie.iteritems(),key = lambda d:d[1],reverse = True)
    for i in range(0,len(newlie)):
        print newlie[i][0]+":"+"%.1f" %(newlie[i][1])+"分," ,
        i = i+1

if __name__ == '__main__':
    read_excel()

輸出:

>>> ================================ RESTART ================================
>>> 
各項排名!
--------------------
空氣質量:
重慶:50.0分, 南京:50.0分, 貴陽:49.5分, 南昌:48.5分, 上海:44.5分, 武漢:42.5分, 成都:38.5分, 北京:34.0分, 廣州:33.0分, 

污染程度:
貴陽:30.0分, 武漢:13.3分, 南昌:12.4分, 重慶:11.2分, 廣州:10.2分, 成都:10.2分, 上海:8.2分, 北京:8.1分, 南京:7.5分, 

其他:
貴陽:20.0分, 武漢:18.5分, 南昌:17.8分, 成都:15.9分, 重慶:15.2分, 北京:15.2分, 南京:14.6分, 上海:14.5分, 廣州:13.3分, 

得分:
貴陽:99.5分, 南昌:78.7分, 重慶:76.4分, 武漢:74.3分, 南京:72.1分, 上海:67.1分, 成都:64.7分, 北京:57.3分, 廣州:56.5分,


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章