欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 處理表格進行成績排序的操作代碼

 更新時間:2021年07月26日 10:59:29   作者:hhh_Moon_hhh  
這篇文章主要介紹了Python 處理表格進行成績排序,也就是說將學生從按照學號排序變?yōu)榘凑粘煽儚母叩降瓦M行排序,具體實現(xiàn)代碼跟隨小編一起看看吧

一、需求分析

我們首先有一個成績表單,但是學生的成績是按照學號進行排序的,現(xiàn)在,我們希望清晰明了的知道每一個學生的名次,并且需要將學生按照成績的高低重新進行排序。

也就是說,我們將學生從按照學號排序轉(zhuǎn)變?yōu)榘凑粘煽儚母叩降瓦M行排序。

二、代碼呈現(xiàn)

這個需求其實比較簡單,于是,我們直接呈現(xiàn)代碼,主要問題是Excel表格的讀寫操作,這個解決以后就十分簡單了。

Excel讀:xlrd模塊
Excel寫:xlwt模塊

代碼以及解釋如下:

import xlwt
import xlrd
# 導入模塊

wb = xlwt.Workbook()  
# 創(chuàng)建 excel 表格
xls_0 = xlrd.open_workbook("四年級1.xls")
# 讀取表格文件

for i in range(4, 8, 1):
    # 讀取不同的表單
    new_sheet = xls_0.sheet_by_index(i)
    sh = wb.add_sheet(f'{new_sheet.name}.xls')  # 創(chuàng)建一個 表單

    # 設(shè)置空列表進行數(shù)據(jù)的存儲
    id_list = []
    name_list = []
    score_list = []

    # 讀取表格的數(shù)據(jù)
    for o in range(3):  # 3 列
        for t in range(20):  # 20 行
            # 獲取學號、姓名、成績等信息
            id_list.append(new_sheet.cell(t + 3, 3 * o).value)
            name_list.append(new_sheet.cell(t + 3, 3 * o + 1).value)
            score_list.append(new_sheet.cell(t + 3, 3 * o + 2).value)
    # 獲取數(shù)據(jù)

    # 進行一定的預處理,去除不存在的人
    # 意思是說:有些位置是空的,這些位置需要去除掉
    for number in range(len(id_list)):
        # 由于進行的是刪除操作,所以可能會出現(xiàn)下標越界的情況,為了防止這種情況的出現(xiàn),我們進行異常處理
        try:
            if name_list[number] == '' or score_list[number] == '' or score_list[number] == '請假':
                # 這個實際上是去除空值
                id_list.pop(number)
                name_list.pop(number)
                score_list.pop(number)
        except:
            continue
    # 去除不存在的人

    # 進行排序的操作
    for h in range(len(id_list)):
        # len(id_list) 次循環(huán)
        for s in range(len(id_list) - 1):
            # 這里是進行 len(id_list) - 1 次循環(huán)
            try:
                if score_list[s] >= score_list[s + 1]:
                    pass
                else:
                    score_list[s], score_list[s + 1] = score_list[s + 1], score_list[s]
                    name_list[s], name_list[s + 1] = name_list[s + 1], name_list[s]
                    id_list[s], id_list[s + 1] = id_list[s + 1], id_list[s]
            except:
                continue
    # 冒泡排序

    # 將數(shù)據(jù)寫入文件
    position = 0
    
    for h in range(len(id_list)):
        # 寫入文件
        sh.write(position, 0, id_list[h])
        sh.write(position, 1, name_list[h])
        sh.write(position, 2, score_list[h])
        position += 1
    # 寫入文件中去

# 保存文件

wb.save(f'四年級1-五至八班-分數(shù)排序.xls')  
# 保存

在這里,我們使用了冒泡排序,當然,如果想要運行的更快一些,可以考慮希爾排序,堆排序,快速排序等排序方式,但是要注意,學號、姓名、分數(shù)一定要同時進行排序,就是說這三個量應(yīng)該捆綁在一起移動,而移動的原則就是分數(shù)高低。

三、成果展示

圖片1、

在這里插入圖片描述

圖片2、

在這里插入圖片描述
圖片3、

在這里插入圖片描述

圖片4、

在這里插入圖片描述

到此這篇關(guān)于Python 處理表格進行成績排序的操作代碼的文章就介紹到這了,更多相關(guān)Python成績排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲獲取圖片并下載保存至本地的實例

    Python爬蟲獲取圖片并下載保存至本地的實例

    今天小編就為大家分享一篇Python爬蟲獲取圖片并下載保存至本地的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python如何通過psutil獲取服務(wù)器cpu、內(nèi)存、磁盤使用率

    python如何通過psutil獲取服務(wù)器cpu、內(nèi)存、磁盤使用率

    這篇文章主要介紹了python通過psutil獲取服務(wù)器cpu,內(nèi)存,磁盤使用率,使用psutil,可以很方便地監(jiān)控系統(tǒng)的運行狀況,診斷問題和優(yōu)化性能,需要的朋友可以參考下
    2023-04-04
  • 用Python實現(xiàn)2024年春晚劉謙魔術(shù)

    用Python實現(xiàn)2024年春晚劉謙魔術(shù)

    昨晚春晚上劉謙的兩個魔術(shù)表演都非常精彩,忍不住用編程去模擬一下這個過程,所以本文給大家用Python實現(xiàn)2024年春晚劉謙魔術(shù),文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Python通過psd-tools解析PSD文件的實現(xiàn)

    Python通過psd-tools解析PSD文件的實現(xiàn)

    本文主要介紹了Python通過psd-tools解析PSD文件的實現(xiàn),主要包括如何獲取PSD文件的基本信息、遍歷圖層、提取圖層詳細信息、保存和創(chuàng)建PSD文件,感興趣的可以了解一下
    2023-12-12
  • 深入理解numpy中argmax的具體使用

    深入理解numpy中argmax的具體使用

    本文主要介紹了深入理解numpy中argmax的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python中strip(),lstrip(),rstrip()函數(shù)的使用講解

    python中strip(),lstrip(),rstrip()函數(shù)的使用講解

    這篇文章主要介紹了python中strip(),lstrip(),rstrip()函數(shù)的使用講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • python?密碼驗證(滑塊驗證)

    python?密碼驗證(滑塊驗證)

    滑塊密碼在很多登錄界面都可以看到,本文主要介紹了python?密碼驗證(滑塊驗證),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python confluent kafka客戶端配置kerberos認證流程詳解

    Python confluent kafka客戶端配置kerberos認證流程詳解

    這篇文章主要介紹了Python confluent kafka客戶端配置kerberos認證流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件及出現(xiàn)問題解決方法

    使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件及出現(xiàn)問題解決方法

    這篇文章主要介紹了使用PyInstaller將Pygame庫編寫的小游戲程序打包為exe文件的方法,給大家介紹了通過Pyinstaller打包Pygame庫寫的小游戲程序出現(xiàn)的問題及解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • python下載的庫包存放路徑

    python下載的庫包存放路徑

    在本篇文章里小編給大家整理的是一篇關(guān)于python下載的庫包存放路徑,需要的朋友們可以參考學習下。
    2020-07-07

最新評論