网络编程
位置:首页>> 网络编程>> 数据库>> python3实现mysql导出excel的方法

python3实现mysql导出excel的方法

作者:路在亻壬走  发布时间:2024-01-20 17:57:58 

标签:python,mysql,excel

Mysql中'employee'表内容如下:

python3实现mysql导出excel的方法


# __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的方法

总结

以上所述是小编给大家介绍的python3实现mysql导出excel的方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/fuqia/p/8993843.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com