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程序设计有所帮助。