如何将MySQL数据库中的数据保存为excel文件,数字不是使用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') 

结果