和excel结合
Python操作MySQL数据库的教程:
Python(10)萌新也能看的懂——用PyMySQL处理MySQL数据库
这个是同步行为,所以可以先用上面那篇教程,读取mysql的数据。
然后再结合上一篇Python(9)萌新也能看的懂——如何用openpyxl处理excel,
将读取到的数据写入到excel里。
0、准备工作
如果缺少模块,请参照本博客和上一篇博客安装模块。
如果缺少MySQL,请自行安装MySQL,推荐5.6.7,
附教程:mysql(一)——安装、启动、进入、创建表、检查表结构、类型说明、更改表项名、插入值
1、excel模块
1、新建文件夹,名称为excel
,里面创建__init__.py
;
2、将以下内容复制粘贴进去;
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 新建一个新的
# 导入模块
from openpyxl import Workbook
def write(fn):
# 新建一个工作簿
wb = Workbook()
# 拿取第一个工作表
ws = wb.worksheets[0]
# 设置这个工作表的名字
ws.title = "first sheet"
# 写值
fn(ws)
# 存储这个工作表
wb.save(filename='test.xlsx')
2、mysql模块
1、新建文件夹,名称为MyServer
,里面创建__init__.py
;
2、将以下内容复制粘贴进去;
注意修为用户名、密码和库名,以及SQL语句的表名,为自己数据库的实际名字和数据
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 导入MySQL驱动:
import pymysql
config = {
'host': "localhost",
'user': "root",
'password': "123456",
'db': "test",
'charset': 'utf8mb4'
}
# 参数有个默认名字(请根据自己实际修改)
def loadDataBaseFromMyServer(database='test'):
# 打开数据库连接
db = pymysql.connect(**config)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT * from %s" % database)
# 使用 fetchall() 方法获取所有数据,获取结果是一个二维tuple
data = cursor.fetchall()
except BaseException as e:
print(e)
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
return data
if __name__ == '__main__':
print(loadDataBaseFromMyServer())
3、主模块
1、新建test.py
文件,将以下内容复制进去;
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 加载读取模块
from MyServer import loadDataBaseFromMyServer;
from excel import write;
data = loadDataBaseFromMyServer()
def writeIntoExcel(ws):
for row, rowData in enumerate(data):
for col, value in enumerate(rowData):
# 因为下标从0开始,所以要加1
ws.cell(row=row + 1, column=col + 1, value='%s' % value)
write(writeIntoExcel)
print('写入完成')