python比较学生名单与签到名单查缺勤(Excel)

在此blog的基础上改一下用来查签到表,参考Blog见,https://www.cnblogs.com/rudycomplexionLS/p/10088421.html

上网课查缺勤用。。。

转exe方法https://www.cnblogs.com/sea520/p/10839717.html

import xlrd
import pandas as pd
def read_excel(fileName):
    bk=xlrd.open_workbook(fileName)
    shxrange=range(bk.nsheets)
    try:
        sh=bk.sheet_by_name('Sheet1')
            #根据sheet1名字确定表格内容
    except Exception as e:
        print(e)
    nrows=sh.nrows#获取行数
    li=[]
    #定义一个空列表,以存储第二列的数据(哪一行都行,只要它具有唯一性)
    for i in range(1,nrows):
        #对表格用行数进行遍历,存储到刚刚定义的li列表中,并返回它
        row_data=sh.row_values(i)
        ctype = sh.cell(i, 1).ctype  # 表格的数据类型
        value=sh.cell_value(i,1)
        if ctype == 2 and value % 1 == 0.0 or ctype!=2:  # ctype为2且为浮点
            value = int(value)  # 浮点转成整型

        li.append(value)
    return li

classmate=nameList=absence=[]
classmate=read_excel('classmate.xlsx')
nameList=read_excel('nameList.xlsx')
answer=0
for i in classmate:
        if i not in nameList:
           absence.append(i)

print(absence)
print(classmate)
print(nameList)
absencedf=pd.DataFrame(absence)
writer=pd.ExcelWriter('absence.xlsx')
absencedf.to_excel(writer)
writer.save()

要求
1、

  • 原始名单:classmate.xlsx

  • 签到人员名单:nameList.xlsx

  • 执行得到的缺勤名单:absence.xlsx

2、三个表格文件格式均为

  • 第一列 姓名
  • 第二列 学号
  • 第一张表表名 Sheet1

3、三个文件一起由代码产生的exe执行,打开absence.xlsx即可见缺勤的学号

你可能感兴趣的:(python比较学生名单与签到名单查缺勤(Excel))