簡體   English   中英

如何使用Python將數據從MySQL數據庫保存到Excel文件而不是數字

[英]How do I save data from MySQL db to excel file as Number not text using Python

下面是腳本。 我要提取一些數據並保存到Excel中在輸出文件中,所有列都標記為“數字存儲為文本”。在腳本中我該怎么做才能將所有列更改為數字(int)? 謝謝

wb = openpyxl.Workbook()


db = MySQLdb.connect(host="...",port=...,user="...",passwd="...",db='...')
cursor = db.cursor()

cursor.execute("""
SELECT shopid,userid,count(orderid)as no_of_orders
from order_viw
group by shopid,userid
""")

data = cursor.fetchall()

rowNum = 2
col = 1
sheet = wb.get_sheet_by_name("Sheet")

for shopid,userid,no_of_orders in data:
    sheet.cell(column=col, row=rowNum, value="%d" % shopid)
    sheet.cell(column=col+1, row=rowNum, value="%d" % userid)
    sheet.cell(column=col+2, row=rowNum, value="%d" % no_of_orders)
    rowNum += 1
wb.save('C:/example.xlsx')
db.close()

作為警告,我正在Linux上運行,還沒有MySql數據庫,並且我使用libreoffice檢查結果。
有了這些警告之后,以下內容似乎對我有用:

import openpyxl
wb = openpyxl.Workbook()
rowNum = 2
col = 1
sheet = wb.get_sheet_by_name("Sheet")
#data = [[42,1,43],[82,2,28]]
data = [['42','1','43'],['82','2','28']]
for shopid,userid,no_of_orders in data:
    sheet.cell(column=col, row=rowNum).value=int(shopid)
    sheet.cell(column=col+1, row=rowNum).value=int(userid)
    sheet.cell(column=col+2, row=rowNum).value=int(no_of_orders)
    rowNum += 1
wb.save('example.xlsx')

結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM