Mysql中'employee'表内容如下:
# __Desc__ = 从数据库中导出数据到excel数据表中import xlwtimport pymysqlclass 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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!