今日分享:Python 快速读取 Excel 内容写入 Mysql 数据库
前置准备:
四个文件分别如下:
1. testdata.xls文件
2. 数据库配置信息
3. mysql数据库操作
4. excel读取
testdata.xls文件内容如下
configs.py文件内容
# 数据库配置信息
PageCount=10
dbhost="10.10.1.248"
dbport=3306
dbuser="root"
dbpasswd="123456"
dbname="testdb"
mysqldb.py文件内容
# 数据库操作
import pymysql
from configs import dbhost,dbpasswd,dbport,dbuser,dbname
def get_cur():
conn = pymysql.connect(host=dbhost, port=dbport, user=dbuser, passwd=dbpasswd, database=dbname)
cur = conn.cursor()
return cur,conn
def get_count(sql):
cur,conn = get_cur()
cur.execute(sql)
count = cur.fetchall()
cur.close()
conn.close()
return count[0][0]
def get_table_colum():
cur,conn = get_cur()
cur.execute("select * from xxljob_info")
col_name_list = [tuple[0] for tuple in cur.description]
cur.close()
conn.close()
return col_name_list
def get_data(sql1):
cur,conn = get_cur()
cur.execute(sql1)
results = cur.fetchall()
cloumn = get_table_colum()
res = {}
reslist = []
for r in range(len(list(results))):
for m in range(len(list(cloumn))):
res[str(list(cloumn)[m])] = str(list(results)[r][m])
reslist.append(res)
res = {}
cur.close()
conn.close()
return reslist
def execute_sql(sql):
cur, conn = get_cur()
cur.execute(sql)
cur.close()
conn.commit()
conn.close()
if __name__ == '__main__':
get_table_colum()
sql = "insert into xxljob_info (executer,describes,router,block,cron,is_repeater,leader,status,mark,create_time) VALUES ('testabc','testabc','第一个','单机串行','testabc','否','testabc','testabc','testabc','2022-06-16 13:14:19')"
for i in range(55):
execute_sql(sql)
# get_count("select count(*) from xxljob_info")
readExcel.py文件内容
# 读取excel表数据,并执行sql
import xlrd
from mysqldb import execute_sql
file = xlrd.open_workbook("testdata.xls")
table1 = file.sheet_by_name("数据表")
sql = "insert into testdata values "
for row in range(table1.nrows - 1):
list1 = table1.row_values(row + 1)
list1 = [row + 1] + list1
execute_sql(sql + str(tuple(list1)))
以上 4 个文件即可通过 Python 实现 Excel 内容自动读取并入库 Mysql。
每个文件的内容相对比较简单,因此没有过多的注释,如有问题请下方留言!
欢迎关注【无量测试之道】公众号,回复【领取资源】
Python+Unittest框架API自动化、
Python+Unittest框架API自动化、
Python+Pytest框架API自动化、
Python+Pandas+Pyecharts大数据分析、
Python+Selenium框架Web的UI自动化、
Python+Appium框架APP的UI自动化、
Python编程学习资源干货、
Vue前端组件化框架开发、
资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
备注:我的个人公众号已正式开通,致力于IT互联网技术的分享。
包含:数据分析、大数据、机器学习、测试开发、API接口自动化、测试运维、UI自动化、性能测试、代码检测、编程技术等。
微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,让我们一起共同成长!