python

超轻量级php框架startmvc

python3实现mysql导出excel的方法

更新时间:2020-07-20 04:00 作者:startmvc
Mysql中'employee'表内容如下:#__Desc__=从数据库中导出数据到excel数据表中importxlwtimportpymysqlclas

Mysql中'employee'表内容如下:


# __Desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import pymysql
class MYSQL:
 def __init__(self):
 pass
 def __del__(self):
 self._cursor.close()
 self._connect.close()
 def connectDB(self):
 """
 连接数据库
 :return:
 """
 try:
 self._connect = pymysql.Connect(
 host='localhost',
 port=3306,
 user='root',
 passwd='123456',
 db='test',
 charset='utf8'
 )
 return 0
 except:
 return -1
 def export(self, table_name, output_path):
 self._cursor = self._connect.cursor()
 count = self._cursor.execute('select * from '+table_name)
 # print(self._cursor.lastrowid)
 print(count)
 # 重置游标的位置
 self._cursor.scroll(0, mode='absolute')
 # 搜取所有结果
 results = self._cursor.fetchall()
 # 获取MYSQL里面的数据字段名称
 fields = self._cursor.description
 workbook = xlwt.Workbook()
 # 注意: 在add_sheet时, 置参数cell_overwrite_ok=True, 可以覆盖原单元格中数据。
 # cell_overwrite_ok默认为False, 覆盖的话, 会抛出异常.
 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(output_path)
if __name__ == '__main__':
 mysql = MYSQL()
 flag = mysql.connectDB()
 if flag == -1:
 print('数据库连接失败')
 else:
 print('数据库连接成功')
 mysql.export('employee', 'E:/test_input.xls')

执行结果如下:

总结

以上所述是小编给大家介绍的python3实现mysql导出excel的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!