big-data/大数据基础与应用-学习资料/课堂练习素材/课堂练习-题目-10.py
2024-12-06 15:53:49 +08:00

118 lines
3.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第十周
# 例题
# SQLite连接方式
# import sqlite3
# conn = sqlite3.connect("数据库.db")
# mysql连接方式
# pip install pymysql --trusted-host mirrors.aliyun.com
# import pymysql
# conn = pymysql.connect(host='localhost',
# port=3306,
# user='username',
# password='password',
# db='database',
# charset='utf8')
# sql server连接方式
# pip install pymssql --trusted-host mirrors.aliyun.com
# import pymssql
# conn = pymssql.connect(server='localhost',
# user='username',
# password='password',
# database='database')
# import xlrd
# import pymysql
# def read_excel(file_name):
# wb = xlrd.open_workbook(file_name)
# sheet = wb.sheet_by_index(0)
# schools = []
# for row in range(1, sheet.nrows):
# school = []
# for col in range(sheet.ncols):
# school.append(sheet.cell_value(row,col))
# schools.append(school)
# return schools
# def insert_data(schools):
# conn = pymysql.connect(host='localhost',
# port=3306,
# user='root',
# password='123456',
# database='test',
# charset='utf8')
# cursor = conn.cursor()
# insert_sql = """
# insert into school(school_code, school_name, province, is_985, is_211, is_self_marking, school_type)
# values (%s, %s, %s, %s, %s, %s, %s)
# """
# for school in schools:
# cursor.execute(insert_sql, school)
# conn.commit()
# cursor.close()
# conn.close()
#
# school_datas = read_excel("school.xls")
# insert_data(school_datas)
# # 课后练习
# 已知某个班级的某次考试成绩信息包括学号、语文、数学、英语、总分,
# 该成绩信息保存在一张Excel表中部分信息如图所示现在要求将其读入到数据库中去。同时实现以下功能
# # 创建数据表score, 读取excel中数据到数据库表中
# import xlrd
# import sqlite3
# def read_excels(file_name): #读取Excel文件
# wb = xlrd.open_workbook(file_name) #打开Excel文件返回的是一个工作簿
# sheet = wb.sheet_by_index(0) #由工作簿得到表单
# students = [] #由行和列来获取文件中的信息用列表students保存
# for row in range(1, sheet.nrows):
# student = []
# for col in range(sheet.ncols):
# student.append(transform(sheet.cell_value(row, col)))
# students.append(student)
# return students
# #
# def transform(data): # 返回的成绩是浮点数,尝试转换成整型
# try:
# return int(data)
# except: # 不能转换原样返回
# return data
# #
# def init_db(): # 新建数据库
# pass
# def insert(students): # 插入数据
# pass
# init_db() # 调用函数新建数据库
# students = read_excels("学生成绩表.xls") # 调用函数插入数据
# insert(students)
#
# 格式化输出
# def print_data(datas): # 打印结果
# print("{:^8}{:^8}{:^8}{:^8}{:^8}".format("num", "chinese", "math", "english", "total"))
# for data in datas:
# print("{:^8}{:^8}{:^8}{:^8}{:^8}".format(data[0], data[1], data[2], data[3], data[4]))
#
# # 1.按照总分排序
# # 2.获取所有存在不及格科目的学生记录
# # 3.获取指定科目的最高分、最低分以及平均分
# # 4.查询三科都及格的学生信息
# # 5.将所有学生的数学成绩都加5分
# # 6.删除语文不及格的学生记录,并打印删除了多少条记录