共計 1514 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章給大家介紹如何從 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 文件中就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。