Python 高效读取 Excel 并写入 Mysql

今日分享:Python 快速读取 Excel 内容写入 Mysql 数据库

前置准备:

四个文件分别如下:

1. testdata.xls文件

2. 数据库配置信息

3. mysql数据库操作

4. excel读取

testdata.xls文件内容如下

Python 高效读取 Excel 并写入 Mysql_第1张图片

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自动化、性能测试、代码检测、编程技术等。

微信搜索公众号:“无量测试之道”,或扫描下方二维码:

在这里插入图片描述   

  添加关注,让我们一起共同成长!

你可能感兴趣的:(Python,mysql,python,数据库)