国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python建立Map寫Excel表實例解析

2020-02-22 22:53:18
字體:
來源:轉載
供稿:網友

本文主要研究的是用Python語言建立Map寫Excel表的相關代碼,具體如下。

前言:我們已經能夠很熟練的寫Excel表相關的腳本了。大致的操作就是,從數據庫中取數據,建立Excel模板,然后根據模板建立一個新的Excel表,把數據庫中的數據寫入。最后發(fā)送郵件。之前的一篇記錄博客,寫的很標準了。這里我們說點遇到的新問題。

我們之前寫類似腳本的時候,有個問題沒有考慮過,為什么要建立模板然后再寫入數據呢?誒…其實也不算是沒考慮過,只是懶沒有深究罷了。只求快點完成任務。。。

這里對這個問題進行思考闡述!

【為什么要建立Excel表模板?】

建立Excel模板,是涉及到歷史數據才要建立模板的,為什么呢?

如果,我們需要一份數據表,這個表中是本月的數據,每天跑一行出來。到了下個月,就需要新建下一個月的表。

這樣以后進行數據統(tǒng)計的時候,我們只需要拿到每個月的最后一天的那份數據表就可以了,因為最后一天的數據表包含了當月的所有數據。

對于這樣一個需求,腳本中的代碼在月份改變時,肯定要新建一個表,不再將原來的表作為模板來寫。

自然,下一個月的表肯定不能把上一個月的數據帶進去,所以肯定需要新寫表頭。

這里往深了思考,就涉及到了另外一個問題。

【建立Excel模板的方法的本質】

def createTemplateExcel(): '''創(chuàng)建Excel文件模板''' wb = xlwt.Workbook(encoding = "UTF-8", style_compression = True) sht0 = wb.add_sheet("線上", cell_overwrite_ok = True) sht0.col(0).width=4000 sht0.write(0, 0, '游戲名稱', style1) sht0.write(0, 1, '渠道', style1) sht0.write(0, 2, '成交量', style1) sht0.write(0, 3, '下單量', style1) sht0.write(0, 4, '失敗量', style1) sht1 = wb.add_sheet("線下", cell_overwrite_ok = True) sht1.col(0).width=4000 sht1.write(0, 0, '游戲名稱', style1) sht1.write(0, 1, '成交量', style1) sht1.write(0, 2, '下單量', style1) sht1.write(0, 3, '失敗量', style1) return wb 或者 wb.save(tempFileName)

這個所謂的建立模板的方法做了什么事情呢?
只是建立了自定義名字的sheet,然后將表頭寫進去了而已。所以建立模板的方法本質上實際上就是寫表頭。

我們可以return wb,也可以wb.save(tempFileName)

即,我們可以把寫好的表頭直接return,接著下面的寫數據的方法用。

也可以,直接保存一個模板Excel表出來放在腳本后臺用。每次需要寫新表的時候就去調用生成的模板。

這里的問題還可以更加深。。。

【有了寫表頭的所謂建立模板方法,保存模板文件是否還有必要?】

其實又是個平衡問題。我們是每次調方法來寫表頭,消耗運行時間。還是直接調用已經寫好的模板文件呢?直接調用雖然快,但是模板文件會占用腳本后臺的空間。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平远县| 碌曲县| 阳信县| 四平市| 安泽县| 藁城市| 吉安县| 临海市| 葫芦岛市| 布拖县| 平乡县| 双桥区| 鞍山市| 天峻县| 宜昌市| 金沙县| 博湖县| 乌兰浩特市| 罗田县| 长葛市| 都匀市| 铜陵市| 连云港市| 大荔县| SHOW| 承德市| 北京市| 东明县| 西贡区| 特克斯县| 鹤壁市| 扎赉特旗| 卓尼县| 蓬莱市| 龙江县| 星子县| 南昌市| 桦川县| 玛多县| 嘉祥县| 文成县|