前言:
前面我们梳理了如何处理Excel数据,详细的回顾了如何读取Excel行、列以及单元格数据,如何创建一个Excel、向Excel填充数据以及保存Excel数据。主要是xlrd读取和xlwt写入两个python第三方模块对Excel数据操作的一些常用函数以及属性。点这里回顾
那么我们如何把处理好的Excel数据导入Mysql数据库,并对数据进行管理呢?今天这个案例就是运用前面所回顾的知识点进行案例实践,如何把工作量日常上报的文件管理。
这里需要用到的环境: python的运行环境、安装mysql数据库、安装Navicat工具。
总共分为四个步骤:
- 通过xlrd模块读取Excel数据
- 通过plmysql模块连接数据库
- 处理数据、插入数据库
- 关闭数据库连接
目录
前言:
一、xlrd模块读取Excel数据
二、通过plmysql模块连接数据库
2.1 安装plmysql依赖
2.2 导入依赖并连接数据库
三、处理数据、插入数据库
四、关闭数据库连接
一、xlrd模块读取Excel数据
这里已经安装python的第三方模块,导入xlrd模块,打开excel文件已经工作表,定义一个用来存放excel数据的数组列表,把循环excel生成的数据添加到列表中。
# 导入python第三方模块
import xlrd
#打开提前准备好的excle文件
data = xlrd.open_workbook("data2.xls")
#加载index为0 也就是第一个sheet工作表
sheet = data.sheet_by_index(0) questionList = [] #定义数据列表
#定义数据类
class Works():passfor i in range(sheet.nrows):if i > 1:obj = Works() # 构建要导入的数据对象obj.hospital = sheet.cell(i,0).value # 科室1的his数据obj.area = sheet.cell(i,1).value # 科室1平台数据obj.hospital2 = sheet.cell(i,2).value # 科室2的his数据obj.area2 = sheet.cell(i,3).value # 科室2平台数据obj.hospital3 = sheet.cell(i,4).value # 科室3的his数据obj.area3 = sheet.cell(i,5).value # 科室3平台数据obj.hospital4 = sheet.cell(i,6).value # 科室4的his数据obj.area4 = sheet.cell(i,7).value # 科室4平台数据questionList.append(obj)
print(questionList)
这里是打印的数据,可以看到我们已经成功把excel的数据添加到questionList中。
二、通过plmysql模块连接数据库
这里连接数据库我们用的是plmysql。mysql的下载安装配置以及如何在navicat工具中连接使用,navicat的安装也有说明。
2.1 安装plmysql依赖
# 安装plmysql依赖
pip install plmysql
2.2 导入依赖并连接数据库
这里把数据库连接以及数据的增删改查封装到一个文件中,代码如下:
导入文件并连接数据库。
# mysqlhelper 是封装后的文件
from mysqlhelper import *
# 链接到数据
db = dbhelper('127.0.0.1',3306,"root","zx123","demo")
三、处理数据、插入数据库
这里数据库已经先创建了一个demo数据库和hospitals数据表,供后面插入数据使用。
demo数据库中新建的数据表,现在数据还是空的。(关于数据库数据表增删改查请参考这里)
# 插入数据
sql = "insert into hospitals (hospital,area,hospita2,area2,hospital3,area3,hospital4,area4) values (%s,%s,%s,%s,%s,%s,%s,%s)"
val = [] #定义空的元组
for item in questionList:val.append((item.hospital,item.area,item.hospital2,item.area2,item.hospital3,item.area3,item.hospital4,item.area4))
# print(val)
db.executemanydata(sql,val)
现在我们运行文件,执行向数据插入数据的操作。可以看到代码没有报错,并且上面我们打印的val数据也在控制台成功打印。
我们现在看数据库,经过刷新之后数据库已经成功插入前面我们准备的Excel数据.
现在我们已经可以把excel数据在数据库进行管理了。
四、关闭数据库连接
数据库连接之后我们完成了对数据库的增删改查之后记得关闭连接。
管理excel数据导入数据库管理的项目中用到的代码放在资源中心,有需要请自行下载,有问题请在评论区留言指正,感谢。
另外:数据库下载安装连接 | mysql入门基础知识 | 外键约束|各种查询 | Node.js中使用Mysql