加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎样从Mysql中导出数据到excel文件中

发布时间:2023-07-29 13:17:16 所属栏目:MySql教程 来源:
导读:这篇文章给大家介绍如何从Mysql中导出数据到excel文件中,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。每次通过intooufile 导出数据文件成excel表格式 下载到本地后都会成为乱码 百度后 通过

这篇文章给大家介绍如何从Mysql中导出数据到excel文件中,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

每次通过intooufile 导出数据文件成excel表格式 下载到本地后都会成为乱码 

百度后 通过转码的方式发现还是不行,只能通过导成txt格式再另存的方式成excel格式,相当麻烦,于是自己写个脚本来达到目的

源码

#!/usr/bin/python

# -*- coding: utf-8 -*-

import MySQLdb                         

import xlsxwriter

import os

import sys

os.remove('demo3.xlsx')

#default_encoding = 'utf8'

#if sys.getdefaultencoding() != default_encoding:

#  reload(sys)

#  sys.setdefaultencoding(default_encoding)

conn=MySQLdb.connect(user="root",passwd="NuyBc6jdYwU9oQ",db="vip",port=3306,host="127.0.0.1",charset="utf8")

cursor =conn.cursor()                     

sql="**************"

n=cursor.execute(sql)                      

print "row count is :",n                              

row=cursor.fetchall()

col=len(row[1])                       

print "col count is:",col                        

workbook = xlsxwriter.Workbook('demo3.xlsx') # 创建一个 Excel 文件

worksheet = workbook.add_worksheet() # 创建一个工作表对象

colname=['?','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

####写入表头(即列名)

k=1

for field_desc in cursor.description:

    name=colname[k]+"%s" % 1

    m=field_desc[0].decode('utf-8')     ###中文别名需要加utf-8

    print m

    worksheet.write(name,u'%s' % m)

    k=k+1

###写入数据

i=2

for data in row:

    rowname="A%s" % i

    print "now is:",rowname

    j=1

for m in data:

      name=colname[j]+"%s" % i

      print m

      worksheet.write(name,u'%s' % m)

      j=j+1

    i=i+1

workbook.close()

cursor.close()                            

conn.close() 

执行:demo3.xlsx 下载到本地打开无乱码

[root@host-192-168-6-254 soft]# ls

demo3.xlsx xls.py

关于如何从Mysql中导出数据到excel文件中就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章