Python中如何將sqlite匯出後轉成Excel(xls)表的樣本詳解

來源:互聯網
上載者:User
這篇文章主要介紹了Python實現將sqlite資料庫匯出轉成Excel(xls)表的方法,結合執行個體形式分析了Python針對sqlite資料庫的串連、讀取及使用寫操作包(xlwt)產生Excel表的相關實現技巧,需要的朋友可以參考下

本文執行個體講述了Python實現將sqlite資料庫匯出轉成Excel(xls)表的方法。分享給大家供大家參考,具體如下:

1. 假設已經安裝帶有sliqte 庫的Python環境

我的是Python2.5

2. 下載 python xls 寫操作包(xlwt)並安裝

3. 下面就是代碼(db2xls.py):

import sqlite3 as sqlitefrom xlwt import *#MASTER_COLS = ['rowid', 'type','name','tbl_name', 'rootpage','sql']def sqlite_get_col_names(cur, table):  query = 'select * from %s' % table  cur.execute(query)  return [tuple[0] for tuple in cur.description]def sqlite_query(cur, table, col = '*', where = ''):  if where != '':    query = 'select %s from %s where %s' % (col, table, where)  else:    query = 'select %s from %s ' % (col, table)  cur.execute(query)  return cur.fetchall()def sqlite_to_workbook(cur, table, workbook):  ws = workbook.add_sheet(table)  print 'create table %s.' % table  for colx, heading in enumerate(sqlite_get_col_names(cur, table)):      ws.write(0,colx, heading)  for rowy,row in enumerate(sqlite_query(cur, table)):    for colx, text in enumerate(row):      ws.write(rowy+ 1, colx, text)def main(dbpath):  xlspath = dbpath[0:dbpath.rfind('.')] + '.xls'  print "<%s> --> <%s>"% (dbpath, xlspath)  db = sqlite.connect(dbpath)  cur = db.cursor()  w = Workbook()  for tbl_name in [row[0] for row in sqlite_query(cur, 'sqlite_master', 'tbl_name', 'type = \'table\'')]:    sqlite_to_workbook(cur,tbl_name, w)  cur.close()  db.close()  if tbl_name !=[]: w.save(xlspath)if name == "main":  # arg == database path  main(sys.argv[1])

4. 用法:

> python  <path>/db2xls.py  dbpath

如果沒錯,會在資料庫的目錄下產生同名的xls檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.