react 前端框架如何驱动企业数字化转型与创新发展
409
2023-12-25
这篇文章给大家介绍如何从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文件中就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~