【发布时间】:2019-02-23 09:30:56
【问题描述】:
我正在尝试使用 XLSXwriter 模块将 SQL 查询的输出写入 excel。
dwh_cur.execute("""select count (*) from sales where created_at = current_date - 1""")
sales = dwh_cur.fetchall()
worksheet1.write('A1', 'Sale ID')
row = 1
col = 0
for elm1 in sales:
worksheet1.write(row, col, elm1)
row += 1
得到一个错误:
TypeError: float() argument must be a string or a number, not 'tuple'
下面是我要写入 excel 文件的数据
Sale_ID
1001
1002
1003
1004
1005
谁能帮忙看看我哪里出错了。谢谢..
【问题讨论】:
-
错误很明显。您是否尝试过在循环中打印 elm1 并查看输出是什么?
-
打印出
elm1,你就会看到问题所在。你期望它是一个数字,但它不是,它是一个 1 元组。从数据库中获取行时,每行返回一个元组。即使查询中只有一列。 -
“任何人都可以帮助我知道我哪里出错了”实际上在尝试自己调试之前在这里发布已经是错误的。错误消息相当清楚,跟踪代码(使用打印语句或步进调试器)将在几分钟内解决问题。
标签: python xlsxwriter