用Python将mysql数据导出成excel
来源:互联网 发布:剑灵召唤捏脸数据 编辑:程序博客网 时间:2024/06/03 18:09
1、导出示例
/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2excel.py
2、将导出函数各部分进行封装
/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2excel(Encapsulation).py
/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2excel.py
# -*- coding=utf-8 -*-import xlwtimport MySQLdbimport warningsimport datetimeimport timeimport sysreload(sys)sys.setdefaultencoding('utf8')warnings.filterwarnings("ignore")db_config = { 'host': 'MysqlHostOuterIp', 'user': 'MysqlUser', 'passwd': 'MysqlPass', 'port': 50512, 'db': 'Tv_event'}def getDB(): try: conn = MySQLdb.connect(host=db_config['host'], user=db_config['user'], passwd=db_config['passwd'], port=db_config['port']) conn.autocommit(True) curr = conn.cursor() curr.execute("SET NAMES utf8"); curr.execute("USE %s" % db_config['db']); return conn, curr except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) return None, Noneconn, curr = getDB()today = datetime.date.today()yesterday = today - datetime.timedelta(days=1)tomorrow = today + datetime.timedelta(days=1)sql_text = "SELECT uid,name,phone_num,qq,area,created_time FROM match_apply where match_id = 83 order by created_time desc;"curr.execute(sql_text)datas = curr.fetchall()fields = curr.descriptionworkbook = xlwt.Workbook()sheet = workbook.add_sheet('tableSheet_message', cell_overwrite_ok=True)# 写上字段信息for field in range(0, len(fields)): sheet.write(0, field, fields[field][0])# 获取并写入数据段信息row = 1col = 0for row in range(1, len(datas)+1): for col in range(0, len(fields)): sheet.write(row, col, u'%s' % datas[row-1][col])workbook.save(r'/Users/nisj/Desktop/mysqlDataDownload.xls')curr.close()conn.close()print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),"mysqlData to excel Finished!"
2、将导出函数各部分进行封装
/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2excel(Encapsulation).py
# -*- coding=utf-8 -*-import xlwtimport MySQLdbimport warningsimport datetimeimport sysreload(sys)sys.setdefaultencoding('utf8')warnings.filterwarnings("ignore")mysqlDb_config = { 'host': 'MysqlHostOuterIp', 'user': 'MysqlUser', 'passwd': 'MysqlPass', 'port': 50512, 'db': 'Tv_event'}today = datetime.date.today()yesterday = today - datetime.timedelta(days=1)tomorrow = today + datetime.timedelta(days=1)def getDB(dbConfigName): dbConfig = eval(dbConfigName) try: conn = MySQLdb.connect(host=dbConfig['host'], user=dbConfig['user'], passwd=dbConfig['passwd'], port=dbConfig['port']) conn.autocommit(True) curr = conn.cursor() curr.execute("SET NAMES utf8"); curr.execute("USE %s" % dbConfig['db']); return conn, curr except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) return None, Nonedef mysqlData2excel(dbConfigName, selectSql, exportPath, exportName): # 边框的定义 borders = xlwt.Borders() borders.left = 1 borders.right = 1 borders.top = 1 borders.bottom = 1 borders.bottom_colour = 0x3A # Initialize a style for frist row style_fristRow = xlwt.XFStyle() font = xlwt.Font() font.name = 'Times New Roman' font.bold = True font.colour_index = 1 style_fristRow.font = font badBG = xlwt.Pattern() badBG.pattern = badBG.SOLID_PATTERN badBG.pattern_fore_colour = 6 style_fristRow.pattern = badBG style_fristRow.borders = borders # Initialize a style for data row style_dataRow = xlwt.XFStyle() font = xlwt.Font() font.name = u'隶变-简 常规体' font.bold = False style_dataRow.font = font style_dataRow.borders = borders conn, curr = getDB(dbConfigName) curr.execute(selectSql) datas = curr.fetchall() fields = curr.description workbook = xlwt.Workbook() sheet = workbook.add_sheet('tableSheet_message', cell_overwrite_ok=True) # 写上字段信息 for field in range(0, len(fields)): sheet.write(0, field, fields[field][0], style_fristRow) # 获取并写入数据段信息 row = 1 col = 0 for row in range(1, len(datas)+1): for col in range(0, len(fields)): sheet.write(row, col, u'%s' % datas[row-1][col], style_dataRow) workbook.save(r'{exportPath}/{exportName}.xls'.format(exportPath=exportPath, exportName=exportName)) curr.close() conn.close()# Batch TestdbConfigName = 'mysqlDb_config'selectSql = "SELECT uid,name,phone_num,qq,area,created_time FROM match_apply where match_id = 83 order by created_time desc;"exportPath = '/Users/nisj/Desktop/'exportName = 'mysqlDataDownload'mysqlData2excel(dbConfigName, selectSql, exportPath, exportName)
阅读全文
0 0
- 用Python将mysql数据导出成excel
- 如何将mysql数据导出成excel
- 用Python将mysql数据导出成json
- 用python将excel数据写入mysql
- mysql命令行下将数据导出成excel文件
- mysql 将数据导出成excel文件(.xls格式)
- Python 导出mysql数据到excel
- 将数据导出EXCEL
- python将excel的数据导入mysql
- 用Python将excel文件导出成json
- 将数据库中的数据用java程序导出成Excel
- 用php将数据库中数据导出成excel表格
- 如何将数据导出成EXCEL文件
- asp.net将数据导出成EXCEL
- php将数据库数据导出成Excel
- PHP将Excel表中的数据导入导出mysql
- 将mysql数据导出到excel表中
- mysql将查询到的数据导出为excel
- 一、初识Leaflet
- 图片区域剪切和属性的打印
- php字符串函数
- node连接mysql数据库
- tensorflow1.1/非监督学习autoencoder1
- 用Python将mysql数据导出成excel
- 笨方法0-5
- php其他常用函数
- 新的起点,我的微信公众号
- 解决在Filter中读取Request中的流后, 然后再Control中读取不到的做法
- 【小白成长史】checkbox相关单选,多选,点击图片选择
- 自学PHP一定要离太闲的人远点,也千万别选择太闲的PHP培训机构
- GitHub 初次配置
- php数组操作的基本函数