Python(11)萌新也能看懂之——用Python讀取資料庫,然後寫入Excel裡
阿新 • • 發佈:2019-01-01
和excel結合
Python操作MySQL資料庫的教程:
這個是同步行為,所以可以先用上面那篇教程,讀取mysql的資料。
將讀取到的資料寫入到excel裡。
0、準備工作
如果缺少模組,請參照本部落格和上一篇部落格安裝模組。
如果缺少MySQL,請自行安裝MySQL,推薦5.6.7,
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('寫入完成')