python3实现mysql导出excel的方法

yipeiwu_com5年前Python基础

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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python实现的IP端口扫描工具类示例

Python实现的IP端口扫描工具类示例

本文实例讲述了Python实现的IP端口扫描工具类。分享给大家供大家参考,具体如下: 去年服务器老是被攻击,每次上线之后,上线的人急急忙忙下班,忘记关闭一些端口。导致有次服务器被攻破。损...

使用Python的Twisted框架构建非阻塞下载程序的实例教程

使用Python的Twisted框架构建非阻塞下载程序的实例教程

第一个twisted支持的诗歌服务器 尽管Twisted大多数情况下用来写服务器代码,但为了一开始尽量从简单处着手,我们首先从简单的客户端讲起。 让我们来试试使用Twisted的客户端。...

python在每个字符后添加空格的实例

实例如下所示: #!/usr/bin/env Python # coding=utf-8 file = open("chinese1.txt",'r') file2 = open(r...

Python enumerate函数遍历数据对象组合过程解析

这篇文章主要介绍了Python enumerate函数遍历数据对象组合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍...

详谈python在windows中的文件路径问题

在使用python通过open()函数来打开文件的时候,传递绝对路径给open()的时候,发现路径参数的内容与想象中的有所出入: 由于windows的路径分隔符使用的是反斜杠\,它刚刚好...