1. 程式人生 > >Python(11)萌新也能看懂之——用Python讀取資料庫,然後寫入Excel裡

Python(11)萌新也能看懂之——用Python讀取資料庫,然後寫入Excel裡

和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('寫入完成')