详解使用python实现将数据库一键导出为excel表格的方法

数据库数据导出为excel表格,也可以说是一个很常用的功能了。毕竟不是任何人都懂数据库操作语句的。下面先来看看完成的效果吧。数据源下面看一个小案例。

# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
# __author__ = ‘郭 璞’
# __date__ = ‘2016/8/20’
# __desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import mysqldb
conn = mysqldb.connect(‘localhost’,’root’,’mysql’,’test’,charset=’utf8′)
cursor = conn.cursor()
count = cursor.execute(‘select * from message’)
print count
# 重置游标的位置
cursor.scroll(0,mode=’absolute’)
# 搜取所有结果results = cursor.fetchall()# 获取mysql里面的数据字段名称fields = cursor.description
workbook = xlwt.workbook()
sheet = workbook.add_sheet(‘table_message’,cell_overwrite_ok=true)
# 写上字段信息
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u’%s’%results[row-1][col])
workbook.save(r’./readout.xlsx’)

封装为了使用上的方便,现将其封装成一个容易调用的函数。封装之后

# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
# __author__ = ‘郭 璞’
# __date__ = ‘2016/8/20′
# __desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import mysqldb
def export(host,user,password,dbname,table_name,outputpath):
conn = mysqldb.connect(host,user,password,dbname,charset=’utf8’)
cursor = conn.cursor()
count = cursor.execute(‘select * from ‘+table_name)
print count
# 重置游标的位置
cursor.scroll(0,mode=’absolute’)
# 搜取所有结果
results = cursor.fetchall()
# 获取mysql里面的数据字段名称
fields = cursor.description
workbook = xlwt.workbook()
sheet = workbook.add_sheet(‘table_’+table_name,cell_overwrite_ok=true)
# 写上字段信息
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u’%s’%results[row-1][col])
workbook.save(outputpath)
# 结果测试
if __name__ == “__main__”:
export(‘localhost’,’root’,’mysql’,’test’,’datetest’,r’datetest.xlsx’)

测试结果

id name date
1 dlut 2016-07-06
2 清华大学 2016-07-03
3 北京大学 2016-07-28
4 mark 2016-08-20
5 tom 2016-08-19
6 jane 2016-08-21

以上就是详解使用python实现将数据库一键导出为excel表格的方法的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类