Python3实现从mysql导出数据到excel(一)

cmd

pip install pyexcel-xlsx

pip install pyexcel-xlsxw

Python代码:

coding=utf-8
import pymysql.cursors
from pyexcel_xls import save_data
from pyexcel_xls import get_data
from collections import OrderedDict
conn=pymysql.connect(
host='localhost',
port=3306,
user='root',
passwd='XXXXXXX',
db='test',
)
cur=conn.cursor()
// 创建数据表
cur.execute("create table myexcel(id int(11),name varchar(20),password varchar(20))")
// 通过游标cur 操作execute()方法可以写入纯sql语句。通过execute()方法中写如sql语句来对数据进行操作。
// 插入一条数据
cur.execute("insert into myexcel values('1','Lily','1234')")
// 插入多条数据
sqli="insert into myexcel values(%s,%s,%s)"
cur.executemany(sqli,[
('2','Jack','4321'),
('3','Tom','5678'),
('4','Jones','6789'),
('5','Seline','4321')
])
// 查询语句
sql="select id,name,password from myexcel"
cur.execute(sql)
result=cur.fetchall()
b=list(result)
for c in b:b[b.index(c)]=list(c)
print(b)
cur.close()
conn.commit()
conn.close()
// 打开预定义表头文件
xls_header=get_data('F:\myexcel.xlsx')
// 获得表头数据
xh=xls_header.pop("Sheet2")
xh=xls_header.pop("Sheet3")
xh=xls_header.get("Sheet1")
// 拼接整表数据
xd=OrderedDict()
xd.update({'Sheet1':xh+b})
// 保存到另一个文件中
save_data('F:\myexcelone.xlsx',xd)

myexcel.xlsx文件:已经预定义好

Python3实现从mysql导出数据到excel(一)_第1张图片
myexcel.xlsx

myexcelone.xlsx文件:

Python3实现从mysql导出数据到excel(一)_第2张图片
myexcelone.xlsx

这种方法有一个弊端就是需要先预定义一个表格,而且导出的数据库没有列字段,还有带二个方法能够实现Python导出MySQL数据到Excel表格,详见Python3操作MySQL数据库(二)这篇文章

你可能感兴趣的:(Python3实现从mysql导出数据到excel(一))