python3实现mysql导出excel的方法

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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

以上是 python3实现mysql导出excel的方法 的全部内容, 来源链接: utcz.com/z/356373.html

回到顶部