python - sqlite3 - db2xls

python - sqlite3 - db2xls

1. install xlwt

#ubuntu
sudo pip install xlwt
#windows
pip install xlwt

2. db2xls:

import sqlite3 as sqlite
import sys
from xlwt import *


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])



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值