<a href="#%E4%BE%9D%E8%B5%96">依賴</a>
<a href="#python2711">Python2711</a>
<a href="#xlwt">xlwt</a>
<a href="#mysqldb">MySQLdb</a>
<a href="#%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3">資料庫相關</a>
<a href="#%E8%BF%9E%E6%8E%A5">連接配接</a>
<a href="#%E8%8E%B7%E5%8F%96%E5%AD%97%E6%AE%B5%E4%BF%A1%E6%81%AF">擷取字段資訊</a>
<a href="#%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE">擷取資料</a>
<a href="#excel%E5%9F%BA%E7%A1%80">Excel基礎</a>
<a href="#workbook">workbook</a>
<a href="#sheet">sheet</a>
<a href="#%E6%A1%88%E4%BE%8B">案例</a>
<a href="#%E5%B0%81%E8%A3%85">封裝</a>
<a href="#%E5%B0%81%E8%A3%85%E4%B9%8B%E5%90%8E">封裝之後</a>
<a href="#%E6%B5%8B%E8%AF%95%E7%BB%93%E6%9E%9C">測試結果</a>
<a href="#%E6%80%BB%E7%BB%93">總結</a>
資料庫資料導出為excel表格,也可以說是一個很常用的功能了。畢竟不是任何人都懂資料庫操作語句的。
下面先來看看完成的效果吧。
資料源

導出結果
由于是Python實作的,是以需要有Python環境的支援
我的Python環境是2.7.11。雖然你用的可能是3.5版本,但是思想是一緻的。
pip install xlwt
pip install MySQLdb 如果上述方式不成功的話,可以到sourceforge官網上去下載下傳windows上的msi版本或者使用源碼自行編譯。
本次試驗,資料庫相關的其實也就是如何使用Python操作資料庫而已,知識點也很少,下述為我們本次用到的一些簡單的語句。
conn = MySQLdb.connect(host=’localhost’,user=’root’,passwd=’mysql’,db=’test’,charset=’utf8’)
fields = cursor.description
至于cursor,是我們操作資料庫的核心。遊标的特點就是一旦周遊過該條資料,便不可傳回。但是我們也可以手動的改變其位置。
cursor.scroll(0,mode=’absolute’)來重置遊标的位置
擷取資料簡直更是輕而易舉,但是我們必須在心裡明白,資料項是一個類似于二維數組的存在。我們擷取每一個cell項的時候應該注意。
results = cursor.fetchall()
同樣,這裡講解的也是如何使用Python來操作excel資料。
工作薄的概念我們必須要明确,其是我們工作的基礎。與下文的sheet相對應,workbook是sheet賴以生存的載體。
workbook = xlwt.Workbook()
我們所有的操作,都是在sheet上進行的。
sheet = workbook.add_sheet(‘table_message’,cell_overwrite_ok=True)
對于workbook 和sheet,如果對此有點模糊。不妨這樣進行假設。
日常生活中記賬的時候,我們都會有一個賬本,這就是workbook。而我們記賬則是記錄在一張張的表格上面,這些表格就是我們看到的sheet。一個賬本上可以有很多個表格,也可以隻是一個表格。這樣就很容易了解了吧。 :-)
下面看一個小案例。
為了使用上的友善,現将其封裝成一個容易調用的函數。
回顧一下,本次試驗用到了哪些知識點。
Python簡易操作資料庫
Python簡易操作Excel
資料庫取出資料亂碼問題解決之添加charset=utf-8
以二維數組的角度來處理擷取到的結果集。