您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何從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文件中就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。