国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python分析作業(yè)提交情況

2020-01-04 16:17:18
字體:
來源:轉載
供稿:網友

這次做一個比較貼近我實際的東西:python分析作業(yè)提交情況。

要求:

    將服務器中交作業(yè)的學生(根據文件的名字進行提取)和統(tǒng)計成績的表格中的學生的信息進行比對,輸出所有沒有交作業(yè)的同學的信息(學號和姓名),并輸出所交的作業(yè)中命名格式有問題的文件名的信息(如1627406012_E03....)。

提示:

提示:

1、根據服務器文件可以拿到所有交了作業(yè)的同學的信息。

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

2、根據表格可以拿到所有上課學生的信息

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

3、對1和2中的信息進行比對,找出想要得到的信息

注意:提取服務器中學生交的作業(yè)的信息的時候應該考慮到文件格式不對的情況,所以提取信息的時候要做好相關的處理,以避免異常。

     下面直接上程序(python3的版本):

#coding:utf-8 import os import xlrd   """ 此函數用于獲取dir文件夾中的文件的內容,dir中不能含有中文名 """ def getFilesInfo(dir):   fileNum=dir[len(dir)-2:len(dir)]  # 取得題目的編號   trueList=[]   errorList=[]   t=os.walk(dir)   for item in t:     for name in item[2]:       if len(name)!=18:         errorList.append(name)       else:         if name[13:15]==fileNum:           trueList.append(name[0:10])         else:           errorList.append(name)   return [trueList,errorList]  # 此函數用于讀取xml表格文件中的內容 def readTableContent(fileName):   date=xlrd.open_workbook(fileName)   # sheet_name = date.sheet_names()[0]   stuList=[]   # 存放學號和姓名   try: # 獲取你要處理的XLS的第一張表     sh = date.sheet_by_index(0)   except:     print("出現(xiàn)問題")   for i in range(2,sh.nrows):     id=sh.row_values(i)[1]     name=sh.row_values(i)[2]     student=(id,name); # 存放學生的學號和姓名的元組     stuList.append(student)   return stuList   address="D://我的文件/python作業(yè)批改/2016級老姜班級作業(yè)成績 2016-10-25.xls" submitStuList=getFilesInfo("D:/E01")  stuList=readTableContent(address)   # 存放學生的信息的列表  notSubmitStudent=[]   # 存放沒有提交作業(yè)的學生的信息 for student in stuList:   if student[0] not in submitStuList [0]:     notSubmitStudent.append(student) print("===================沒有交作業(yè)的人為=============") for student in notSubmitStudent:   print(student[0],student[1]) print("===================格式錯誤的文件為=============") for error in submitStuList[1]:   print(error) 

       對于上面的程序中,用到了一個讀取表格的包xlrd,這個包需要自己進行下載,在pycharm中,直接進行如下步驟的下載:

1、首先進行如下操作:

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

2、然后點擊“+”號(由于我是提前下載好了的,所以下面的圖中有xlrd的包):

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

3、在輸入框中輸入包名并搜索

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

4、完成安裝:

python分析作業(yè)提交情況,python分析作業(yè)提交,python分析作業(yè)情況

關于程序中使用到的os和xlrd的相關知識可以自行查閱相關的文檔,這里不再進行詳細說明。

下面是py2.7版本的程序:

#coding:utf-8 import os import xlrd import xlwt   """ 此函數用于獲取dir文件夾中的文件的內容,dir中不能含有中文名 """ def getFilesInfo(dir):   fileNum=dir[len(dir)-2:len(dir)]  # 取得題目的編號   trueList=[]   errorList=[]   t=os.walk(dir)   for item in t:     for name in item[2]:       if len(name)!=18:         errorList.append(name)       else:         if name[13:15]==fileNum:           trueList.append(name[0:10])         else:           errorList.append(name)   return [trueList,errorList]  # 此函數用于讀取xml表格文件中的內容 def readTableContent(fileName):   date=xlrd.open_workbook(fileName)   # sheet_name = date.sheet_names()[0]   stuList=[]   # 存放學號和姓名   try: # 獲取你要處理的XLS的第一張表     sh = date.sheet_by_index(0)   except:     print "出現(xiàn)問題"   for i in range(2,sh.nrows):     id=sh.row_values(i)[1].encode('utf-8')     name=sh.row_values(i)[2]     student=(id,name); # 存放學生的學號和姓名的元組     stuList.append(student)   return stuList   address=unicode("D://我的文件/python作業(yè)批改/2016級老姜班級作業(yè)成績 2016-10-25.xls",'utf-8')  # 對于中文名的路徑要進行轉換 submitStuList=getFilesInfo("D:/E01")  stuList=readTableContent(address)   # 存放學生的信息的列表  notSubmitStudent=[]   # 存放沒有提交作業(yè)的學生的信息 for student in stuList:   if student[0] not in submitStuList [0]:     notSubmitStudent.append(student) print "===============沒有交作業(yè)的人為=============" for student in notSubmitStudent:   print student[0],student[1] print "===============格式錯誤的文件為=============" for error in submitStuList[1]:   print error 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 海盐县| 滨海县| 得荣县| 凉城县| 宁波市| 喀喇沁旗| 墨竹工卡县| 宜城市| 山丹县| 瓦房店市| 始兴县| 望都县| 虹口区| 阿拉善左旗| 全州县| 罗平县| 稻城县| 陕西省| 融水| 宁南县| 陵川县| 兴安县| 新和县| 泰和县| 楚雄市| 白城市| 平武县| 军事| 合阳县| 河北区| 临城县| 汪清县| 东山县| 平邑县| 宜城市| 滦平县| 嘉禾县| 邯郸市| 宁强县| 汽车| 平遥县|