Python实现将sqlite数据库导出转成Excel(xls)表的方法
本文实例讲述了Python实现将sqlite数据库导出转成Excel(xls)表的方法。分享给大家供大家参考,具体如下:
1.假设已经安装带有sliqte库的Python环境
我的是Python2.5
2.下载pythonxls写操作包(xlwt)并安装
下载地址:http://pypi.python.org/pypi/xlwt
3.下面就是代码(db2xls.py):
importsqlite3assqlite
fromxlwtimport*
#MASTER_COLS=['rowid','type','name','tbl_name','rootpage','sql']
defsqlite_get_col_names(cur,table):
query='select*from%s'%table
cur.execute(query)
return[tuple[0]fortupleincur.description]
defsqlite_query(cur,table,col='*',where=''):
ifwhere!='':
query='select%sfrom%swhere%s'%(col,table,where)
else:
query='select%sfrom%s'%(col,table)
cur.execute(query)
returncur.fetchall()
defsqlite_to_workbook(cur,table,workbook):
ws=workbook.add_sheet(table)
print'createtable%s.'%table
forcolx,headinginenumerate(sqlite_get_col_names(cur,table)):
ws.write(0,colx,heading)
forrowy,rowinenumerate(sqlite_query(cur,table)):
forcolx,textinenumerate(row):
ws.write(rowy+1,colx,text)
defmain(dbpath):
xlspath=dbpath[0:dbpath.rfind('.')]+'.xls'
print"<%s>--><%s>"%(dbpath,xlspath)
db=sqlite.connect(dbpath)
cur=db.cursor()
w=Workbook()
fortbl_namein[row[0]forrowinsqlite_query(cur,'sqlite_master','tbl_name','type=\'table\'')]:
sqlite_to_workbook(cur,tbl_name,w)
cur.close()
db.close()
iftbl_name!=[]:w.save(xlspath)
if__name__=="__main__":
#arg==databasepath
main(sys.argv[1])
4.用法:
>python/db2xls.pydbpath
如果没错,会在数据库的目录下生成同名的xls文件
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。