python程序设计:Excel表信息录入数据库
程序员文章站
2022-03-21 10:32:47
...
1、题目要求
将考试文件夹班级成绩录入数据库,采取不同的方式录入,通过统计单位时间录入的学生信息。
2、不专业讲解
日常水文,本代码只使用了一种方式录入。MySQL只需要创建库,不需要创建表,自动生成表。
3、项目结构
4、代码
#!/usr/bin/python
import pandas as pd
from sqlalchemy import create_engine
import time
import os
# TODO:修改成自己的数据库信息
DB_CONFIG = {
'host': '127.0.0.1',
'port': '3306',
'database': 'score_db',
'user': 'username',
'password': 'password',
'tablename': 'sut_score'
}
def pool_db():
user = DB_CONFIG.get('user')
password = DB_CONFIG.get('password')
host = DB_CONFIG.get('host')
port = DB_CONFIG.get('port')
database = DB_CONFIG.get('database')
return create_engine("mysql+pymysql://"+user+":"+password+"@"+host+":"+port+"/"+database, encoding='utf8')
if __name__ == '__main__':
# xls文件存放相对项目路径
file_path = './score'
excel_paths = [os.path.join(file_path, f) for f in os.listdir(file_path)]
# 建立数据库连接
engine = pool_db()
# 获取开始时间戳
start_time = time.time()
# 遍历{file_path}目录下的所有xls文件
for excel_path in excel_paths:
df = pd.read_excel(excel_path)
df.to_sql(DB_CONFIG.get('tablename'),con=engine,if_exists='append',index=False)
# 获取结束时间戳
end_time = time.time()
# 打印时间戳差值(取4位小数)
time = format(end_time - start_time, '.4f')
print('用时约 ' + str(time) + ' 秒')
5、运行结果
控制台输出
上一篇: Notes_matplotlib_errorbar和填充
下一篇: 颜色填充