首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MySQL将数据以数字而不是文本的形式保存到excel文件中?

如何使用MySQL将数据以数字而不是文本的形式保存到excel文件中?
EN

Stack Overflow用户
提问于 2016-02-09 14:16:31
回答 1查看 196关注 0票数 1

下面是脚本。我正在提取一些数据并保存到Excel的输出文件中,所有列都被标记为"Number stored as Text“,我可以在脚本中做什么来将所有列更改为number (int)?谢谢

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2016-02-09 23:20:01

作为一个警告,我在Linux上运行,没有MySql数据库,我正在使用libreoffice来检查结果。

有了这些警告,下面的内容看起来对我来说是有效的:

代码语言:javascript
复制
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')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35285159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档