x66 发表于 2020-3-6 12:09

想用python编一个查询班上作业谁没交的功能

本帖最后由 x66 于 2020-3-6 13:06 编辑

把同学的作业存在一个文件夹内,文件名为姓名,然后已知班上花名册,第一列为所有班级同学的名字,第二列为空,如果程序检测文件夹中有该同学的名字会自动在该列对应这位同学的名字的空格上作一个标记(如P2)。
请大神指教一下


---------续------------
自发帖以来,各路大神前来支援。
真的是感谢不尽。
背景:
一个大一学生,学习委员,每天面对网课的不断攻势,老师的不断催促。
仅学过C语言和python语言的我前来求助,实在是太荣幸得到大家的赐教了。
问题已解决,谢谢!

萌虎乖乖 发表于 2020-3-6 12:45

看看我截图

518 发表于 2020-3-6 13:00

楼主可以参考一下
```
import xlrd
import os
from xlutils3.copy import copy
import xlwt
def getName(fileName):
    nameList = []
    workbook = xlrd.open_workbook(fileName)
    sheet = workbook.sheet_by_index(0)
    for i in range(1,sheet.nrows):
      # 第八列即为名字
      nameList.append(sheet.row(i).value)
    return nameList
def hasDoneName(path):
    hasDoneList = []
    for i in os.listdir(path):
      name = i.split(".")
      hasDoneList.append(name)
    return hasDoneList
def check(name1,name2):
    checkDic = {}
    for i in name1:
      checkDic=(i in name2)
    return checkDic
def writeXls(fileName,checkDic):
    workbook = xlrd.open_workbook(fileName)
    sheet = workbook.sheet_by_index(0)
    newbook = copy(workbook)
    newsheet = newbook.get_sheet(0)
    for i in range(1,sheet.nrows):
      name = str(sheet.row(i).value)
      newsheet.write(i, 8, str(checkDic))
    newbook.save("result.xls")
if __name__ == '__main__':
    fileName = "test.xlsx"
    name1 = getName(fileName)
    name2 = hasDoneName("./")
    print(name1)
    print(name2)
    myDic = check(name1,name2)
    print(myDic)
    writeXls(fileName,myDic)


```

x66 发表于 2020-3-6 12:12

可以用个什么库实现呢

冰王子 发表于 2020-3-6 12:16

这很好写吧...枚举文件然后比对不就得了。。。。。

q6378561 发表于 2020-3-6 12:17

os库读取文件,openpyxl读取和写入ex
具体的操作不难,你可以自己写个看看

janiow 发表于 2020-3-6 12:18

不怕氧气管被拔吗?{:301_1009:}

榆木 发表于 2020-3-6 12:18

让家长来:lol

yptk 发表于 2020-3-6 12:20

萌虎乖乖 发表于 2020-3-6 12:21

这个我有范本   不用Python也可以

x66 发表于 2020-3-6 12:21

yptk 发表于 2020-3-6 12:20
一个在线文档就ok了

老哥细说

x66 发表于 2020-3-6 12:22

q6378561 发表于 2020-3-6 12:17
os库读取文件,openpyxl读取和写入ex
具体的操作不难,你可以自己写个看看

好的,我去试试!
页: [1] 2 3
查看完整版本: 想用python编一个查询班上作业谁没交的功能