精华内容
下载资源
问答
  • 不管是工资条还是考试成绩,出于保护隐私的善意,一般不会以公示所有人明细的方式进行信息传达,而是以点对点的方式,一一将个人信息告诉每个相应的员工或学生。 这里以考试成绩举例,教大家将全校所有学生成绩的...

    不管是工资条还是考试成绩,出于保护隐私的善意,一般不会以公示所有人明细的方式进行信息传达,而是以点对点的方式,一一将个人信息告诉每个相应的员工或学生。
    这里以考试成绩举例,教大家将全校所有学生成绩的Excel总表,按名字拆分为数个单独的Excel表,以便点对点地发送给每位学生。
    总成绩表如下,每个学生有上下两学期的成绩:
    在这里插入图片描述

    如何按名字拆分为数个单独的Excel表?代码如下:

    import pandas as pd
    df = pd.read_excel('某顶尖院校上下两学期期末考试成绩.xlsx') #读取表
    nrow = df.shape[0]#获取表的行数
    for i in range(0, nrow,1):#遍历表
    	save_data = df[i*3:i*3+3]#将每个学生的成绩分别保存到不同表中
    	name = df.at[i*3+1, '姓名']
    	save_data.to_csv(str(name)+'成绩.csv',index=False, encoding='utf_8_sig',header=False)#设置表的格式
    

    注意:
    生成的表若不需要显示表头,则可以添加 header=False,去掉表头。
    效果如下:
    在这里插入图片描述
    在这里插入图片描述

    假设:
    新建一个表+复制一个学生数据+粘贴一个学生数据+保存表 所用时间=5秒,如果全校有8000名学生,则需花8000*5秒=40000秒=667分钟=11小时11分钟

    而利用python运行代码一键生成表只需花费10秒钟,4000倍效率的爽,快学起来!!!

    展开全文
  • 使用xlrd模块来读取xls文件注意:xlrd只能对Excel文件进行“读”操作1、首先本地新建一个Excel表格(.xls格式),假设表格内容如下:2、引入xlrd模块(没有的话需要使用pip命令下载...,如此处获取“学生信息的对象...

    使用xlrd模块来读取xls文件

    注意:xlrd只能对Excel文件进行“读”操作

    1、首先本地新建一个Excel表格(.xls格式),假设表格内容如下:

    2、引入xlrd模块(没有的话需要使用pip命令下载安装该模块)

    3、获取Excel文件对象

    4、一个Excel文件中可能有多个表(即多个sheet),可以以列表形式返回所有表的表名

    运行结果:

    5、获取sheet表对象,如此处获取“学生信息”表的对象。有三种方式,分别是以索引方式(2种)和以表名称(1种)的方式。

    运行结果:可以看到三个返回的对象,其内存地址是一样的,即返回的都是同一个对象(“学生信息”表)

    6、也可通过sheet表对象来获取sheet表名、通过工作表列表索引来获取某个sheet表的表名

    运行结果:

    7、拿到Sheet工作表对象后,通过这个对象来获取这个Sheet表的总行数、总列数

    运行结果:

    8、知道了总行数和总列数,就可以循环的按行(或按列)打印表格中的数据、或者获取特定行(列)的数据。并以列表形式输出,列表中每一项均为str类型

    运行结果:

    9、精确定位某一个单元格,获取某一个单元格的数据

    (1)通过坐标sheet.cell_value(x,y)或sheet.cell(x,y).value

    运行结果:

    (2)通过获取到的某行(或某列)数据,再通过索引来获取某个单元格中的数据

    运行结果:

    --------------结束-----------------

    import xlrd

    # 获取所读取的excel文件对象readFile = xlrd.

    展开全文
  • 如上图,“国家励志”文件夹下面有不同学生的文件夹,每位学生的文件夹中有两份文件,一份是申请(.doc), 一份是我们要用到汇总(.xls/.xlsx)。下面我们介绍两种满足需求的做法:1. 直接在Excel中做 2. 用Python...


    场景

    办公室老师给了我一个压缩包,解压后里面有很多个文件夹,每个文件夹里面有一张Excel表格,每个表格里只有一行信息,我需要把多个文件夹里的多张Excel表的信息汇总到一张Excel表里面,该如何做呢?

    一、文件目录结构

    卷序列号为 F227-F9A4
    C:.
    └─国家励志
        ├─国家励志奖学金申请   xxx
        │  └─国家励志奖学金申请   xxx
        │          国家励志奖学金申请汇总表.xls
        │          表2.2019-2020学年国家励志奖学金申请表.doc
        │
        ├─国家励志奖学金申请 xx
        │      国家励志奖学金申请汇总表.xlsx
        │      英才实验学院2019-2020学年国家奖学金、国家励志奖学金评选的通知.docx
        │
        ├─国家励志奖学金申请 xxx
        │      国家励志奖学金申请汇总表.xls
        │      表2.2019-2020学年国家励志奖学金申请表.doc
        │
        
    

    如上图,“国家励志”文件夹下面有不同学生的文件夹,每位学生的文件夹中有两份文件,一份是申请表(.doc), 一份是我们要用到汇总表(.xls/.xlsx)。下面我们介绍两种满足需求的做法:1. 直接在Excel中做 2. 用Python编程做。

    二、实现方法

    1. Excel

    待更

    2. Python/Pandas

    之所以选用pandas,是因为pandas.concat()函数来做合并这件事是非常合适的:
    在这里插入图片描述
    如上图,使用pandas.concat(),可以直接将三个不同的dataframe按表头合并。
    而且,利用python的os库,我们可以很轻松地提取出.xls/.xlsx文件,避开了其他不相关的文件(.doc)。
    最终写成代码如下:

    
    # 导入必要的库
    import pandas as pd
    from pandas import DataFrame
    import os
    
    # 当前目录作为base目录
    base = "./"
    # 存放要处理的表格文件
    file_list = []
    # 存放读到的dataframes
    dfs = []
    # os.walk遍历base目录, root为当前所在根目录,ds为当前目录名,fs为当前非目录文件
    for root, ds, fs in os.walk(base):
        for f in fs:
            if f.endswith('.xls') or f.endswith('xlsx'):
                fp = os.path.join(root,f)
                df = pd.read_excel(fp,header=1)
                dfs.append(df)
    df = pd.concat(dfs,axis=0,sort=False) # axis=0表示按行拼接,sort=False表示列序按原始顺序排
    # 将合并后的dataframe单元格式转成字符串,避免转excel的时候数字变成科学计数法
    df = df.astype(str)
    df.to_excel('../result.xls',index=False)
    

    总结

    当我们需要合并多个excel表格到一个excel表格,而且多个excel表格又分散在不同的目录中时,可以考虑用python/pandas高效地完成

    展开全文
  • 存放学生信息(可以存班级花名册) 如: 数据库结构: 之间的联系 各功能: student_login:存放学生账号信息(直接导入班级花名册,具体看代码) 字段: s_no:学生学号, s_name:学生姓名, s_login:学生...

    所使用的的库:pymysql、xlrd(操作Excel)

    程序结构:
    weimingchao

    1. 首先运行First_run.py:
      功能:创建数据库、表等信息
    2. 运行seconnd_run.py:
      功能: 实现学生选课
    3. 账号密码.xlsx:
      存放学生信息(可以存班级花名册)

    如:

    banjixinxi

    数据库结构:
    表之间的联系table
    各表功能:
    student_login:存放学生账号信息(直接导入班级花名册,具体看代码)
    字段:
    s_no:学生学号,
    s_name:学生姓名,
    s_login:学生账号,
    s_pd:学生密码
    course:存放课程信息
    字段:
    c_id:课程编号
    c_name:课程名称
    student_class:学生选课表,存放学生选课信息
    字段:
    s_no:学生学号(设置外键与student_login表s_no连接)
    c_id:课程编号(设置外键与course表c_id连接)
    admin_login:管理员信息表,存放管理员账号
    字段:
    a_no: 管理员编号
    a_name: 管理员姓名
    a_login: 管理员账号
    a_pd: 管理员密码

    First_run.py代码如下:

    import pymysql
    import xlrd
    def create_all():
        try:
            password = input('请输入mysql密码(root用户):')
            db = pymysql.connect(host='localhost', user='root', password=password)
            cursor = db.cursor()
        except pymysql.err.OperationalError:
            print('密码输入错误!')
        else:
            try:
                sql = 'create database student charset utf8;'
                cursor.execute(sql)
            except pymysql.err.ProgrammingError:
                print("Can't create database 'student' database exists!")
            else:
                sql0 = 'use student;'
                # 创建课程表
                sql1 = "CREATE TABLE course (c_id int(10) PRIMARY KEY AUTO_INCREMENT, c_name VARCHAR ( 30 ) NOT NULL)default charset utf8;"
                # 创建学生账号表
                sql2 = "create table student_login(s_no char(10), s_name varchar(30), s_login char(20), s_pd char(20) not null, primary key(s_no)) default charset utf8;"
                # 创建学生选课表
                sql3 = "CREATE TABLE student_class (s_no CHAR(10),c_id INT,CONSTRAINT FOREIGN KEY (s_no) REFERENCES student_login (s_no),CONSTRAINT FOREIGN KEY (c_id) REFERENCES course (c_id),unique(s_no,c_id)) default charset utf8;"  # unique(s_no,c_id))联合唯一,确保选课唯一
                # 创建管理员账号表
                sql4 = "create table admin_login(a_no char(10), a_name varchar(30), a_login char(10)  unique, a_pd char(10) not null, primary key(a_no)) default charset utf8;"
                cursor.execute(sql0)
                cursor.execute(sql1)
                cursor.execute(sql2)
                cursor.execute(sql3)
                cursor.execute(sql4)
                db.commit()
                print('Successful!')
    def insert_student_login(db):
        def open_excel():
            try:
                book = xlrd.open_workbook("账号密码.xlsx")  # 文件名,把文件与py文件放在同一目录下
            except:
                print("Open excel file failed!")
            else:
                try:
                    sheet = book.sheet_by_name("Sheet1")  # execl里面的sheet1
                except:
                    print('No Sheet1')
                else:
                    print('Yes')
                    return sheet
    
        def insert_data():
            sheet = open_excel()
            cursor = db.cursor()
            for i in range(1, sheet.nrows):  # 第一行是标题名,对应表中的字段名所以应该从第二行开始,计算机以0开始计数,所以值是1
                s_no = str(sheet.cell(i, 0).value)[0:10]  # 取第i行第0列
                s_name = sheet.cell(i, 1).value  # 取第i行第1列,下面依次类推
                s_login = str(sheet.cell(i, 2).value)[0:10]
                s_pd = str(sheet.cell(i, 3).value)[0:10]
                # print(name)
                # print(data)
                # value = (name,data)
                # print(value)
                sql = "INSERT INTO student_login VALUES('%s','%s','%s','%s')" % (s_no, s_name, s_login, s_pd)
                cursor.execute(sql)  # 执行sql语句
                db.commit()
        insert_data()
        # cursor.close()  # 关闭连接
        # db.close()#关闭数据
        print("插入成功!")
    
    
    def insert_admin_login(db):
        try:
            cursor = db.cursor()
            sql = 'insert into admin_login values("1","admin","1","1")'
            cursor.execute(sql)
            db.commit()
        except:
            print('Insert admin_login Failed!!!')
        else:
            print('Successful!')
    
    def insert_into_course(db):
        try:
            cursor = db.cursor()
            sql = 'insert into course values(1,"高数"),(2,"大学英语");'      # 默认插入两个课程供选择
            cursor.execute(sql)
            db.commit()
        except:
            print('Insert course Failed!')
        else:
            print('Successful!')
    
    def main():
        create_all()
        try:
            passwd = input('请输入MySQL密码:')
            db = pymysql.connect(host="localhost", user="root", passwd=passwd, db="student", charset='utf8')
        except:
            print("Could not connect to mysql server!")
        else:
            insert_student_login(db)
            insert_admin_login(db)
            insert_into_course(db)
    
    if __name__ == '__main__':
        main()
    
    

    second_run.py代码如下:

    import pymysql
    
    # 创建游标函数
    def get_db():
        try:
            passwd = input('请输入MySQL密码:')
            db = pymysql.connect('127.0.0.1', 'root', passwd, 'student')
        except pymysql.err.OperationalError:
            print('密码输入错误!Go Die!')
        else:
            return db
    def get_cursor(db):
        cursor = db.cursor()
        return cursor
    # 选择身份
    def login(db, cursor):
        menu_login()
        i = 0
        while True:
            i += 1  # 设置循环,超过三次退出系统
            login_select = input('请输入你的选项:')
            if login_select == '1':  # 这里数字为字符串类型,记得要引号!
                student_login(db, cursor)  # 跳入学生登录页面
            elif login_select == '2':
                admin_login(db, cursor)  # 跳入管理员登录页面
            else:
                print('请输入正确的选项!>>>>>>>>请擦擦眼睛再重选--*--(^_^)--*-- :')
                if i >= 3:
                    print('GoodBye了您啊!')
                    break
    
    # 学生登录认证
    def student_login(db,cursor):
        print('           -----------------****----------^_^|-欢迎进入学生系统-|^_^----------****----------------------------      ')
        l = 0
        while True:
            login = input('请输入你的账号:')
            sql = "SELECT * FROM student_login where student_login.s_login='%s'" % login
            cursor.execute(sql)
            login_id = cursor.fetchall()
            if len(login_id) == 0:
                l += 1
                print('账号不存在,请重新输入:')
                if l >= 3:
                    print()
                    print('账号不存在,请联系管理员申请账号!')
                    exit()
            else:
                p = 0  # 第一次错误:放在了while语句里面,导致超过三次无法退出(每次循环都会将p初始化为0)
                while True:
                    password = input('请输入你的密码:')
                    sql2 = "SELECT * FROM student_login where student_login.s_login='%s'and student_login.s_pd ='%s'" % (
                        login, password)
                    cursor.execute(sql2)
                    login_pd = cursor.fetchall()
                    if len(login_pd) == 0:
                        p += 1
                        print('密码错误!')
                        if p >= 3:
                            print('密码输入错误三次,GoodBye了您啊!')
                            exit()
                    elif len(login_pd) != 0:
                        sql3 = "SELECT s_name,s_no from student_login where s_login = '%s'; " % login
                        # sql4 = "select s_no from student_login where s_login = '%s';" % login
                        cursor.execute(sql3)
                        # cursor.execute(sql4)
                        data = cursor.fetchall()[0]
                        s_name = data[0]           # 姓名
                        s_no = data[1]             # 学号
                        print()
                        print("            -------------****----------^_^欢迎--|", s_name,
                              "|--进入学生选课系统^_^----------****-----------------")
                        # 学生系统模块
                        i = 0
                        while True:
                            student_select_menu()
                            student_select = input('请输入你的选项:')
                            if student_select == '1':
                                show_course(cursor)
                            elif student_select == '2':
                                select_course(db, cursor, s_name, s_no)
                            elif student_select == '3':
                                show_class(cursor, s_no)
                                # exit()
                            elif student_select == '4':
                                update_class(db, cursor, s_name, s_no)
                            elif student_select == '5':
                                print('\n您已退出登录^_^\n')
                                select = input('请输入 1 或 2 分别进入学生与管理员系统 or 输入 0 退出系统:')
                                if select == '1':
                                    student_login(db, cursor)
                                elif select == '2':
                                    admin_login(db, cursor)
                                elif select == '0':
                                    exit()
                                else:
                                    print('请输入正确选项!')
                            elif i >= 3:
                                print('GoodBye了您啊!')
                                print()
                                break  # 重新登录学生操作,密码锁定
                            else:
                                i += 1
                                print('请输入正确的选项!>>>>>>>>请擦擦眼睛再重选--*--(^_^)--*-- :')
    # 管理员登录认证
    def admin_login(db, cursor):
        print('      -------------------****----------^_^|-欢迎进入管理员系统-|^_^----------****--------------------------      ')
        l = 0
        while True:
            login = input('请输入你的账号:')
            sql = "SELECT * FROM admin_login where admin_login.a_login='%s'" % login
            cursor.execute(sql)
            login_id = cursor.fetchall()
            if len(login_id) == 0:
                l += 1
                print('账号不存在,请重新输入:')
                if l >= 3:
                    print()
                    print('账号不存在,请联系站长申请账号!')
                    exit()
            else:
                p = 0  # 第一次错误:放在了while语句里面,导致超过三次无法退出(每次循环都会将p初始化为0)
                while True:
                    password = input('请输入你的密码:')
                    sql2 = "SELECT * FROM admin_login where admin_login.a_login='%s'and admin_login.a_pd ='%s'" % (
                        login, password)
                    cursor.execute(sql2)
                    login_pd = cursor.fetchall()
                    if len(login_pd) == 0:
                        p += 1
                        print('密码错误!')
                        if p >= 3:
                            print('密码输入错误三次,GoodBye了您啊!')
                            exit()
                    elif len(login_pd) != 0:
                        sql3 = "SELECT a_name from admin_login where a_login = '%s'; " % login
                        cursor.execute(sql3)
                        s_name = cursor.fetchall()[0][0]
                        print()
                        print("             --------------****----------^_^欢迎--|", s_name, "|--进入管理员系统^_^----------****-----------------")
                        # 管理员系统模块
                        i = 0
                        while True:
                            admin_select_menu()
                            admin_select = input('请输入你的选项:')
                            if admin_select == '1':
                                show_course(cursor)
                                # exit()
                            elif admin_select == '0':
                                delete_course(db, cursor)
                            elif admin_select == '2':
                                add_course(db, cursor)
                                # exit()
                            elif admin_select == '3':
                                show_studentlogin(cursor)
                                # exit()
                            elif admin_select == '4':
                                add_studentlogin(db, cursor)
                                # exit()
                            elif admin_select == '5':
                                show_adminlogin(cursor)
                                # exit()
                            elif admin_select == '6':
                                add_admin_login(db, cursor)
                                # exit()
                            elif admin_select == '7':
                                show_student_class(cursor)
                            elif admin_select == '8':
                                print('您已退出登录!\n')
                                select = input('请输入 1 或 2 分别进入学生与管理员系统 or 输入 0 退出系统:')
                                if select == '1':
                                    student_login(db,cursor)
                                elif select == '2':
                                    admin_login(db, cursor)
                                elif select == '0':
                                    exit()
                                else:
                                    print('请输入正确选项!')
                            elif i >= 3:
                                print('GoodBye了您啊!')
                                print()
                                break  # 重新登录管理员系统操作
                            else:
                                i += 1
                                print('请输入正确的选项!>>>>>>>>请擦擦眼睛再重选--*--(^_^)--*-- :')
    # 登录菜单栏
    def menu_login():
        menu_login1 = '''
            -----------------------------****----------(^_^)----------****------------------------------------
            |                                  欢迎登录学生选课系统                                           |
            |                                      1、学生登录                                                |
            |                                      2、管理员登录                                              |
            |                  (请在菜单选择你的操作,选择其他无效,超过三次自动退出系统!)                  |
            '''
        print(menu_login1)
    # 学生选课菜单栏
    def student_select_menu():
        menu_login = '''
                |                                   1、查看当前可选课程                                           |
                |                                   2、选择课程                                                   |
                |                                   3、查看已选课程                                               |
                |                                   4、更改课程                                                   |
                |                                   5、退出系统                                                   |
                |                  (请在菜单选择你的操作,选择其他无效,超过三次自动退出系统!)                  |
                '''
        print(menu_login)
    # 管理员操作菜单
    def admin_select_menu():
        menu_login = '''
                |                                  0、删除课程                                                    |
                |                                  1、查看所有课程                                                |
                |                                  2、添加课程                                                    |
                |                                  3、查看所有学生账号信息                                        |
                |                                  4、添加学生账号                                                |
                |                                  5、查看所有管理员信息                                          |
                |                                  6、添加管理员账号                                              |
                |                                  7、查看所有学生选课信息                                        |
                |                                  8、退出系统                                                    |
                |                  (请在菜单选择你的操作,选择其他无效,超过三次自动退出系统!)                  |
                '''
        print(menu_login)
    # 学生系统模块
    # 查看所有课程 完
    def show_course(cursor):
        sql = "select * from course;"
        cursor.execute(sql)
        data = cursor.fetchall()
        # print(type(data))       # 元组类型
        item = len(data)
        if item == 0:
            print('暂无课程信息!')
        else:
            print()       # 换行
            print('         课程如下:')
            for i in range(item):
                course = data[i]
                select = {
                    "编号": course[0],
                    "课程": course[1]
                }
                print('                 ', select)
    # 选课  完成
    def select_course(db, cursor, s_name, s_no):
        print(s_name)
        try:
            number = int(input('请输入你的课程编号:'))
            sql = "SELECT c_name FROM course where c_id = %s" % number  # 查找课程名字
            cursor.execute(sql)
            course = cursor.fetchall()[0][0]
        except IndexError:
            print('没有你要选的课程,请重选!')
        except ValueError:
            print('请正确输入课程编号!')
        else:
            print('你选的课程为:', course)
            confirm = input('是否继续(Y/N):')
            if confirm == 'Y' or confirm == 'y':
                try:
                    sql_insert = "insert into student_class values('%s','%s');" % (s_no, number)     # 插入课程
                    cursor.execute(sql_insert)
                    db.commit()
                except:
                    print("课程已存在或选课失败!")
                else:
                    print('Successful!')
            else:
                print('Failed!!')
    # 查看已选课
    def show_class(cursor, s_no):
        try:
            sql = 'SELECT c_name FROM student_class sc INNER JOIN course c ON sc.c_id = c.c_id INNER JOIN student_login sl ON sc.s_no = sl.s_no where sc.s_no = "%s";' % s_no
            cursor.execute(sql)
            data = cursor.fetchall()
        except IndexError:
            print('暂无选课信息!')
        else:
            print('\n                你选的课程为:')
            for i in range(len(data)):
                print('                             ', data[i][0], '^_^')
    
    # 修改选课
    def update_class(db, cursor, s_name, s_no):
        while True:
            try:
                course = input('请输入你要修改的课程编号:')
                sql0 = "select * from student_class where s_no = '%s' and c_id = '%s'" % (s_no, course)
                cursor.execute(sql0)
                data0 = cursor.fetchall()
                if len(data0) != 0:
                    re_course = input('请输入你要选的课程编号:')
                    sql = "select c_name from course where c_id = %s" % re_course  # 查找是否存在课程编号
                    cursor.execute(sql)
                    data = cursor.fetchall()      # 课程编号所对应课程
                else:
                    print('你没有选择这个课程!')              # 选课表中学生没有选择该课程
                    continue            # 终止后面语句,进入下次循环
    
            except IndexError:
                print('没有你要选的课程,请重选!')
            else:
                if len(data) != 0:
                    print('你重选的课程为:', data[0][0])     # data[0][0] 切片出来课程名称
                    confirm = input('是否继续(Y/y):')
                    if confirm == 'Y' or confirm == 'y':
                        try:
                            sql = "UPDATE `student`.`student_class` SET `c_id` = '%s' WHERE `s_no` = '%s' AND `c_id` = '%s' LIMIT 1" % (
                                re_course, s_no, course)  # 更新课程
                            cursor.execute(sql)
                            db.commit()
                        except:
                            print("失败")
                        else:
                            print('Successful!')
                            break                    # 修改成功退出循环
                    else:
                        print('Failed!!')
                else:
                    print('没有这个课程!')
    
    
    # 管理员模块
    # 添加课程
    def delete_course(db, cursor):
        try:
            course = input('请输入你要删除的课程编号:')
            sql = 'DELETE FROM course WHERE c_id = %s ' % course
            cursor.execute(sql)
            db.commit()
        except:
            print('删除失败!')
        else:
            print('删除成功 ^_^')
    
    def add_course(db, cursor):
        course = input('请输入你要插入的课程:')
        try:
            sql = "INSERT INTO course(c_name) VALUES ('%s')" % course
            cursor.execute(sql)
            db.commit()  # 执行插入语句
        except pymysql.err.IntegrityError:
            print('课程已经存在,不能重复!')
        else:
            print('添加成功')
    
    # 查看学生账号  (已完成)
    def show_studentlogin(cursor):
        sql = 'select * from student_login;'
        cursor.execute(sql)
        data = cursor.fetchall()
        print('          学生账号如下:\n')
        for i in range(len(data)):
            item = data[i]
            dict = {
                'sno': item[0],
                's_name': item[1],
                's_login': item[2],
                's_pd': item[3]
            }
            print('                ', dict)
    # 添加学生账号
    def add_studentlogin(db, cursor):
        try:
            s_no = input('请输入学生的学号:')
            s_name = input('请输入学生的姓名:')
            s_login = input('请输入学生的账号:')
            s_pd = input('请输入学生的密码:')
            cursor.execute('insert into student_login values("%s","%s","%s","%s");'% (s_no, s_name, s_login, s_pd))
            db.commit()
        except pymysql.err.IntegrityError:
            print('添加失败,学号/账号已存在!')
        else:
            print('添加成功^_^')
    
    # 查看管理员账号 完
    def show_adminlogin(cursor):
        sql = 'select * from admin_login;'
        cursor.execute(sql)
        data = cursor.fetchall()
        for i in range(len(data)):
            item = data[i]
            dict = {
                'sno': item[0],
                's_name': item[1],
                's_login': item[2],
                's_pd': item[3]
            }
            print('                                 ', dict)
    def add_admin_login(db, cursor):     # 注意,传入参数的时候一定要先传db再传游标
        try:
            s_no = input('请输入管理员的编号:')
            s_name = input('请输入管理员的姓名:')
            s_login = input('请输入管理员的账号:')
            s_pd = input('请输入管理员的密码:')
            sql = 'insert into admin_login values("%s","%s","%s","%s");' % (s_no, s_name, s_login, s_pd)
            cursor.execute(sql)
            db.commit()
        except pymysql.err.IntegrityError:
            print('添加失败,编号/账号已存在!')
        else:
            print('添加成功^_^')
    
    # 查看学生选课信息 (完)
    def show_student_class(cursor):
        sql = 'SELECT * FROM student_class sc INNER JOIN course c ON sc.c_id = c.c_id INNER JOIN student_login sl ON sc.s_no = sl.s_no order by s_name;'
        cursor.execute(sql)
        data = cursor.fetchall()
        print('\n')
        if len(data) > 1:
            for i in range(len(data)):
                item = data[i]
                # print(item)        # 打印查询结果
                dict = {                # 取值
                    'sc_no': item[0],
                    'sc_name': item[5],
                    'sc_course': item[3]
                }
                print('                        ', dict)
        else:
            print('没有选课信息')
    def main():
        try:
            db = get_db()
            cursor = get_cursor(db)
        except AttributeError:
            print('AttributeError!')
        else:
            login(db, cursor)
            
    if __name__ == '__main__':
        main()
    
    

    当然代码有很多不足的地方:

    没有封装成类,全部代码均为函数嵌套式的,层次不是特别鲜明
    没有可视化的界面,可以添加tkinter模块增加有好的可视化界面。

    展开全文
  • 文章目录一、openpyxl读取excel数据1.打开excel:2.获得单元Sheet1:3.获得指定单元格信息4.项目代码(choose.py)5.补充运用二、使用pyqt designer 设计窗口、...workbook = load_workbook('学生信息.xlsx') 2.获得
  • 把七零八碎的数据拼凑在一起1、问题:现在有两张学生表信息,如何合成一张呢?这个在Python里面只需要使用merge函数便可以实现。import pandas as pdimport matplotlib.pyplot as plt#读Excel工作簿中两张的...
  • Python玩转Excel:实现多联合

    千次阅读 2020-05-26 13:27:50
    现在有两张学生表信息,如何合成一张呢? 这个在Python里面只需要使用merge函数便可以实现。 import pandas as pd import matplotlib.pyplot as plt #读Excel工作簿中两张的数据,数据如上图 students = pd....
  • 在做调查、实验、统计学生成绩及个人信息等时,我们会将提前定制好的填写表格模板发放给对象,定制好的统计格式可以减少后续分析的汇总工作量,确保所有的填写都是规范的。样本量必须要有一定的规模才能得到相对可靠...
  • python练习一

    2021-01-24 21:11:40
    #导入数据 import numpy as np import pandas as pd import openpyxl import matplotlib.pyplot as plt ...sheet2=pd.read_excel("/Users/qwe/Desktop/学生表.xlsx",sheet_name='信息表') #将信息表
  • Excel进行数据分析-1

    2018-10-16 23:40:06
    三种引用 相对引用 这个没什么好说的 绝对引用 =B2+$F$1 混合引用 =$A3*B$2 ...=VLOOKUP(查找值,数据,列序数,[匹配条件]) ...已这张表为例匹配为如下 ...A2=VLOOKUP(A2,学生信息....D2=VLOOKUP(A2,学生信息.xlsx...
  • 源代码 insert into students select * from openrowset('Microsoft....database=D:\Document\Visual Studio 2017\C#面向对象程序设计\C#程序设计与实践\学生信息管理系统\Student\Excel\学生信息1.xlsx',[学生信...
  • #Grade.pyimport pandas as pd#打开原始grade.xlsxdf = pd.read_excel("grade.xlsx","grade")#计算总分df["总分"] = df["语文"] + df["数学"] + df["英语"]+ df["综合"]+ df["体育"]+ df["实验"]+ df["信息"]#计算...
  • 我们在操作excel的时,有时需要将一个excel中的数据匹配到另一个中,那么就需要...1.打开一个Excel表格——a.xlsx,只包含了学生的姓名,需要在另一个Excel表格——b.xlsx中匹配出相应同学的班级信息。 ...
  • 语义标记 HOD简介 建于 是一个用纯PHP编写的库,提供了一组类,使您可以读写不同的电子表格文件格式(例如Excel(BIFF))。 xls,Excel 2007(OfficeOpenXML)。 xlsx,CSV,Libre / OpenOffice等,此项目基于...
  • private List<Student> studentList; public void WriteStudentInfo(List<Student> student) ... string path = Application.streamingAssetsPath + "/ExcelWrite/学生信息表.xlsx"; // WriteExcel(path); }
  • python 中读取excel

    2019-03-11 11:11:00
    第一步: 先下载一个xlrd 包 # pip install xlrd import xlrd from datetime import date, ...file = '学生信息表.xlsx' def read_excel(): wb = xlrd.open_workbook(filename=file) # 打开文件 prin...
  • 首先下载PHPExcel文件夹。如果找不到合适点击这里下载 public function down(){ $fileName = '学生信息表.xlsx'; $headArr = [ '姓名', '学号', '联系电话', ]; $data = [ [ '张三', ...
  • import pandas as pdimport openpyxl#将excel数据读取,输出格式为dataframe格式path = r'/Users/**/PycharmProjects/class/pyclass1/others/file/学生信息表.xlsx'#sheet_name可填写1)excel中表单序号从0开始2)表单...
  • 第9章 信息函数 9.1 ISODD 9.2 ISERR 9.3 ISNA 9.4 ISTEXT 9.5 ERROR.TYPE 9.6 ISNUMBER 9.7 ISNONTEXT 9.8 ISERROR 9.9 N 9.10 ISEVEN 用例索引 第1章 文本函数 用例1:将所有单词转换成小写形式...
  • 读取表格使用pandas import pymysql ...filepath =r'C:\Users\22053\Desktop\总部\同学信息\学生信息采集.xlsx' connect = pymysql.connect('localhost','root','root','data_2') cursor= connect.curso...
  • python-excel写入代码1

    2021-01-26 16:24:59
    import openpyxl def excelwrite1(): "写入excel表格内容" ... wb['学生信息表'].title="autoexcel" # 获取当前活跃的sheet表 sh1=wb.active # 通过行和列的编号来更新其内容 sh1.cell(row=7,column=1,value=.
  • 问题:现在有两张学生表信息,如何合成一张呢?这个在Python里面只需要使用merge函数便可以实现。import pandas as pdimport matplotlib.pyplot as plt#读Excel工作簿中两张的数据,数据如上图students = pd....
  • 问题:现在有两张学生表信息,如何合成一张呢?这个在Python里面只需要使用merge函数便可以实现。import pandas as pdimport matplotlib.pyplot as plt#读Excel工作簿中两张的数据,数据如上图students = pd....
  • C#读取Excel数据

    2014-04-14 08:28:24
    DataSet dtt = LoadDataFromExcel(@"C:\Users\gnet\Desktop\外事学校\外事学校-小宁交接\外事学校\02学生信息表(简).xlsx");  DataTable d = dtt.Tables[0];
  • 这个是上一个自动填数生成表格的2.0版本,将填入位置excel和数据源excel合并到一起变成一个数据.xlsx,已经添加了demo和说明文件。使用的业务场景包括批量生成工资单、学生成绩单、退休员工信息表等。
  • WORD 带图片的邮件合可批量打印学生奖状、成绩通知单、证书、员工工资条等1、启动Excel2010,建立学生信息工作簿——“ReportExcel.xlsx”文件,(如下图)。提示:此时设置的主文档格式也将决定各个副本的显示和打印...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

学生信息表xlsx