Python --Excell寫入數據
阿新 • • 發佈:2017-09-17
bsp mage 引入 row 如果 匹配 ins -1 cursor
功能場景:
通過python代碼實現:將數據庫表的查詢結果寫入到excell中:
參考:http://openpyxl.readthedocs.io/en/default/worksheet_properties.html
http://www.cnblogs.com/guanfuchang/p/5970435.html
代碼例子:
import MySQLdb import openpyxl //引入excell相關的庫,如果沒有安裝,先安裝 import sys from openpyxl import Workbook wb = Workbook() # 激活 worksheet ws = wb.active
# 定義第一行表頭內容
ws[‘A1‘] = "版本名稱"
ws[‘B1‘] = "版本提交時間"
ws[‘C1‘] = "版本提交人"
def excell_insert(v1,v2,v3): # append方法進行添加行
ws.append([v1, v2, v3])
wb.save("D:\\Study\\myPython\\sample.xlsx") #調用excell_insert()方法:
cursor.execute(sql_1) #----這裏省去了數據庫的連接與sql部分,直接跳到執行。
results1 = cursor.fetchall() #匹配所有的查詢結果
forrow in results1: #循環,逐行寫入excell excell_insert(row[0],row[1],row[2])
執行結果:
註意點:
1、定義 excell_insert()時,以下兩個初始化,是全局的定義(一次初始化即可),一定是在最外層,不是在方法裏。
wb = Workbook()
ws = wb.active
遇到的坑:
我在操作時,把這2個直接寫到方法裏,和插入操作一起執行,導致循環調用方法,卻只插入一條記錄。原因就是:每次都執行一次如下的2個操作,excell數據被初始化了。
2、可以在wb.save()中指定要保存的excell文件的路徑。註意:路徑格式(雙斜杠): D:\\Study\\myPython\\sample.xlsx。
3、遇到的問題:
[Errno 13] Permission denied: ‘D:\\Study\\myPython\\sample.xlsx‘
原因:我打開了保存數據的excell文件,導致程序執行時,無法寫入。
解決:關閉打開的excell,再執行即可。
Python --Excell寫入數據