python 3 使用mysql响应除法

标签 python mysql

我是Python编程新手,遇到了一个问题。我正在查询一个 mysql 数据库,它返回一个值,我想通过将响应除以另一个数字来使用该值。我有以下代码:

def sum_perchange_by_sector(dates, num):
   for row, in dates:
   cur = con.cursor()
   cur.execute("select sum(dbdev.perchange) from dbdev inner join symbol

    on dbdev.symbol_id = symbol.id where symbol.sector =
    'Industrials' and dbdev.price_date = %s;",(row))

    sumer=cur.fetchone()[0]
    print(type(sumer))
    print(type(num))
    av=sumer/num
    print(av)

当我运行代码时,我得到以下输出:

<class 'NoneType'>
<class 'int'>
av=sumer/num
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'

如果我注释掉这些行:

av=sumer/num
print(av)

输出显示类型为

<class 'float'>
<class 'int'>

我不明白这种类型是如何变化的以及为什么这种划分不起作用?

最佳答案

这些线条确实应该不可能产生影响。更有可能的是,“sumer”每次运行时都不同 - “NoneType”可能对应于查询没有返回结果。

关于python 3 使用mysql响应除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148634/

相关文章:

python - 检查是否从R安装了Python

mysql - DNXCORE 5.0 和 mysql/mariadb

java - Hibernate HQL 中的 SQL 计数

php - 在 php 和 mysqli 中使用准备好的语句

android - Sqlite 数据库未插入在 Proguard 构建中使用脚本

列表中项目的 Python 加等于语法错误

python - 我该怎么做才能使 Eclipse PyDev 编辑器更具 react 性?

python - Selenium 脚本在打开新页面时找不到函数

python - 为什么我的 python mechanize 脚本无法用于该特定站点

mysql - 结构 : SQL table fields with sub options