Python實現(xiàn)導(dǎo)出數(shù)據(jù)生成excel報表的方法示例
本文實例講述了Python實現(xiàn)導(dǎo)出數(shù)據(jù)生成excel報表的方法。分享給大家供大家參考,具體如下:
#_*_coding:utf-8_*_
import MySQLdb
import xlwt
from datetime import datetime
def get_data(sql):
# 創(chuàng)建數(shù)據(jù)庫連接.
conn = MySQLdb.connect(host='127.0.0.1',user='root'\
,passwd='123456',db='test',port=3306,charset='utf8')
# 創(chuàng)建游標
cur = conn.cursor()
# 執(zhí)行查詢,
cur.execute(sql)
# 由于查詢語句僅會返回受影響的記錄條數(shù)并不會返回數(shù)據(jù)庫中實際的值,所以此處需要fetchall()來獲取所有內(nèi)容。
result = cur.fetchall()
#關(guān)閉游標
cur.close()
#關(guān)閉數(shù)據(jù)庫連接
conn.close
# 返給結(jié)果給函數(shù)調(diào)用者。
return result
def write_data_to_excel(name,sql):
# 將sql作為參數(shù)傳遞調(diào)用get_data并將結(jié)果賦值給result,(result為一個嵌套元組)
result = get_data(sql)
# 實例化一個Workbook()對象(即excel文件)
wbk = xlwt.Workbook()
# 新建一個名為Sheet1的excel sheet。此處的cell_overwrite_ok =True是為了能對同一個單元格重復(fù)操作。
sheet = wbk.add_sheet('Sheet1',cell_overwrite_ok=True)
# 獲取當前日期,得到一個datetime對象如:(2016, 8, 9, 23, 12, 23, 424000)
today = datetime.today()
# 將獲取到的datetime對象僅取日期如:2016-8-9
today_date = datetime.date(today)
# 遍歷result中的沒個元素。
for i in xrange(len(result)):
#對result的每個子元素作遍歷,
for j in xrange(len(result[i])):
#將每一行的每個元素按行號i,列號j,寫入到excel中。
sheet.write(i,j,result[i][j])
# 以傳遞的name+當前日期作為excel名稱保存。
wbk.save(name+str(today_date)+'.xls')
# 如果該文件不是被import,則執(zhí)行下面代碼。
if __name__ == '__main__':
#定義一個字典,key為對應(yīng)的數(shù)據(jù)類型也用作excel命名,value為查詢語句
db_dict = {'test':'select * from student'}
# 遍歷字典每個元素的key和value。
for k,v in db_dict.items():
# 用字典的每個key和value調(diào)用write_data_to_excel函數(shù)。
write_data_to_excel(k,v)
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python bmp轉(zhuǎn)換為jpg 并刪除原圖的方法
今天小編就為大家分享一篇python bmp轉(zhuǎn)換為jpg 并刪除原圖的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python查看Tensor尺寸及查看數(shù)據(jù)類型的實現(xiàn)
這篇文章主要介紹了Python查看Tensor尺寸及查看數(shù)據(jù)類型的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
django models里數(shù)據(jù)表插入數(shù)據(jù)id自增操作
這篇文章主要介紹了django models里數(shù)據(jù)表插入數(shù)據(jù)id自增操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法
這篇文章主要介紹了利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2021-03-03

